aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGusted <williamzijl7@hotmail.com>2022-03-20 21:42:31 +0000
committerGitHub <noreply@github.com>2022-03-20 22:42:31 +0100
commitee234aff61eb9023b1f66d58bb5234288835602a (patch)
tree54b7a4007c7570e2f2f9b8aa2712cf6bdb12b6de
parenta3f3e310fb4e8ac217fc6f9d2187b06f83293ee0 (diff)
downloadgitea-ee234aff61eb9023b1f66d58bb5234288835602a.tar.gz
gitea-ee234aff61eb9023b1f66d58bb5234288835602a.zip
Fix NPE /repos/issues/search when not signed in (#19154) (#19155)
- Backport #19154 - Don't panic when on `/repos/issues/search?{created,assigned,mentioned,review_requested}=true` when client didn't pass any authentication. - Resolves #19115
-rw-r--r--routers/api/v1/repo/issue.go15
1 files changed, 10 insertions, 5 deletions
diff --git a/routers/api/v1/repo/issue.go b/routers/api/v1/repo/issue.go
index 5137c7246e..c6e08b00f3 100644
--- a/routers/api/v1/repo/issue.go
+++ b/routers/api/v1/repo/issue.go
@@ -245,18 +245,23 @@ func SearchIssues(ctx *context.APIContext) {
UpdatedAfterUnix: since,
}
+ ctxUserID := int64(0)
+ if ctx.IsSigned {
+ ctxUserID = ctx.User.ID
+ }
+
// Filter for: Created by User, Assigned to User, Mentioning User, Review of User Requested
if ctx.FormBool("created") {
- issuesOpt.PosterID = ctx.User.ID
+ issuesOpt.PosterID = ctxUserID
}
if ctx.FormBool("assigned") {
- issuesOpt.AssigneeID = ctx.User.ID
+ issuesOpt.AssigneeID = ctxUserID
}
if ctx.FormBool("mentioned") {
- issuesOpt.MentionedID = ctx.User.ID
+ issuesOpt.MentionedID = ctxUserID
}
if ctx.FormBool("review_requested") {
- issuesOpt.ReviewRequestedID = ctx.User.ID
+ issuesOpt.ReviewRequestedID = ctxUserID
}
if issues, err = models.Issues(issuesOpt); err != nil {
@@ -599,7 +604,7 @@ func CreateIssue(ctx *context.APIContext) {
DeadlineUnix: deadlineUnix,
}
- var assigneeIDs = make([]int64, 0)
+ assigneeIDs := make([]int64, 0)
var err error
if ctx.Repo.CanWrite(unit.TypeIssues) {
issue.MilestoneID = form.Milestone