From 5705f72fd6a1c0ebe3f3127faa7ebea5af7100d0 Mon Sep 17 00:00:00 2001 From: zeripath Date: Thu, 11 Mar 2021 18:09:52 +0000 Subject: [PATCH] Prevent panic when editing forked repos by API (#14960) 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 b12797f83..b7ed2951a 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 }