From b9e890186d18d379f28c21ebc301dee9c46f51d3 Mon Sep 17 00:00:00 2001 From: Andrew Thornton Date: Thu, 11 Mar 2021 16:03:04 +0000 Subject: [PATCH] Prevent panic when editing forked repos by API When editing forked repos using the API the BaseRepository needs to loaded in order to check its visibility otherwise there will be NPE panic. Fix #14956 Signed-off-by: Andrew Thornton --- routers/api/v1/repo/repo.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/routers/api/v1/repo/repo.go b/routers/api/v1/repo/repo.go index b12797f83b990..b7ed2951ad663 100644 --- a/routers/api/v1/repo/repo.go +++ b/routers/api/v1/repo/repo.go @@ -556,6 +556,10 @@ func updateBasicProperties(ctx *context.APIContext, opts api.EditRepoOption) err if opts.Private != nil { // Visibility of forked repository is forced sync with base repository. if repo.IsFork { + if err := repo.GetBaseRepo(); err != nil { + ctx.Error(http.StatusInternalServerError, "Unable to load base repository", err) + return err + } *opts.Private = repo.BaseRepo.IsPrivate }