From ff5106d700c51932ae0547212d25b4fbf54ce99a Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Tue, 12 Dec 2023 14:51:33 +0100 Subject: Fix possible nil pointer access (#28428) There could be a nil pointer exception if the file is not found because that specific error is suppressed but not handled. --- services/packages/alpine/repository.go | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'services/packages/alpine') diff --git a/services/packages/alpine/repository.go b/services/packages/alpine/repository.go index 46093d5bdd..30b7a06eb3 100644 --- a/services/packages/alpine/repository.go +++ b/services/packages/alpine/repository.go @@ -82,10 +82,7 @@ func BuildAllRepositoryFiles(ctx context.Context, ownerID int64) error { } for _, pf := range pfs { - if err := packages_model.DeleteAllProperties(ctx, packages_model.PropertyTypeFile, pf.ID); err != nil { - return err - } - if err := packages_model.DeleteFileByID(ctx, pf.ID); err != nil { + if err := packages_service.DeletePackageFile(ctx, pf); err != nil { return err } } @@ -157,12 +154,11 @@ func buildPackagesIndex(ctx context.Context, ownerID int64, repoVersion *package pf, err := packages_model.GetFileForVersionByName(ctx, repoVersion.ID, IndexFilename, fmt.Sprintf("%s|%s|%s", branch, repository, architecture)) if err != nil && !errors.Is(err, util.ErrNotExist) { return err + } else if pf == nil { + return nil } - if err := packages_model.DeleteAllProperties(ctx, packages_model.PropertyTypeFile, pf.ID); err != nil { - return err - } - return packages_model.DeleteFileByID(ctx, pf.ID) + return packages_service.DeletePackageFile(ctx, pf) } // Cache data needed for all repository files -- cgit v1.2.3