Merge pull request #12077 from heww/fix-issue-11951

fix(cve-whitelist): fix panic in `Get` method of whitelist manager
This commit is contained in:
He Weiwei 2020-05-27 19:16:11 +08:00 committed by GitHub
commit 9f5f8e4681
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -63,14 +63,17 @@ func (d *defaultManager) Set(projectID int64, list models.CVEWhitelist) error {
// Get gets the whitelist for given project
func (d *defaultManager) Get(projectID int64) (*models.CVEWhitelist, error) {
wl, err := dao.GetCVEWhitelist(projectID)
if wl == nil && err == nil {
log.Debugf("No CVE whitelist found for project %d, returning empty list.", projectID)
return &models.CVEWhitelist{ProjectID: projectID, Items: []models.CVEWhitelistItem{}}, nil
if err != nil {
return nil, err
}
if wl.Items == nil {
if wl == nil {
log.Debugf("No CVE whitelist found for project %d, returning empty list.", projectID)
wl = &models.CVEWhitelist{ProjectID: projectID, Items: []models.CVEWhitelistItem{}}
} else if wl.Items == nil {
wl.Items = []models.CVEWhitelistItem{}
}
return wl, err
return wl, nil
}
// SetSys sets the system level whitelist