From e02fac4968574694927859105e67aac3f665481d Mon Sep 17 00:00:00 2001 From: Unknwon <u@gogs.io> Date: Fri, 14 Jul 2017 18:51:23 -0400 Subject: repo: fix panic on pull request submit (#4572) --- routes/repo/pull.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'routes') diff --git a/routes/repo/pull.go b/routes/repo/pull.go index 73757280..48eb76e7 100644 --- a/routes/repo/pull.go +++ b/routes/repo/pull.go @@ -101,8 +101,11 @@ func ForkPost(c *context.Context, f form.CreateRepo) { return } - repo, has := models.HasForkedRepo(ctxUser.ID, baseRepo.ID) - if has { + repo, has, err := models.HasForkedRepo(ctxUser.ID, baseRepo.ID) + if err != nil { + c.ServerError("HasForkedRepo", err) + return + } else if has { c.Redirect(repo.Link()) return } @@ -119,7 +122,7 @@ func ForkPost(c *context.Context, f form.CreateRepo) { return } - repo, err := models.ForkRepository(c.User, ctxUser, baseRepo, f.RepoName, f.Description) + repo, err = models.ForkRepository(c.User, ctxUser, baseRepo, f.RepoName, f.Description) if err != nil { c.Data["Err_RepoName"] = true switch { @@ -475,8 +478,11 @@ func ParseCompareInfo(c *context.Context) (*models.User, *models.Repository, *gi // no need to check the fork relation. if !isSameRepo { var has bool - headRepo, has = models.HasForkedRepo(headUser.ID, baseRepo.ID) - if !has { + headRepo, has, err = models.HasForkedRepo(headUser.ID, baseRepo.ID) + if err != nil { + c.ServerError("HasForkedRepo", err) + return nil, nil, nil, nil, "", "" + } else if !has { log.Trace("ParseCompareInfo [base_repo_id: %d]: does not have fork or in same repository", baseRepo.ID) c.NotFound() return nil, nil, nil, nil, "", "" -- cgit v1.2.3