Skip to content

Commit

Permalink
Fix NPE /repos/issues/search when not signed in (#19154) (#19155)
Browse files Browse the repository at this point in the history
- 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
  • Loading branch information
Gusted authored Mar 20, 2022
1 parent a3f3e31 commit ee234af
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions routers/api/v1/repo/issue.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit ee234af

Please sign in to comment.