Skip to content

Commit

Permalink
Prevent nil dereference in mailIssueCommentToParticipants (#5891, #5895
Browse files Browse the repository at this point in the history
…) (#5894)

* Ensure issue.Poster is loaded in mailIssueCommentToParticipants (#5891)

Previous code could potentially dereference nil - this PR ensures
that the poster is loaded before dereferencing it.

Signed-off-by: Andrew Thornton <[email protected]>

* Also ensure the repo is loaded

Signed-off-by: Andrew Thornton <[email protected]>
  • Loading branch information
zeripath authored Jan 29, 2019
1 parent 4fe1a30 commit 0190d3c
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions models/issue_mail.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ func mailIssueCommentToParticipants(e Engine, issue *Issue, doer *User, content

// In case the issue poster is not watching the repository and is active,
// even if we have duplicated in watchers, can be safely filtered out.
poster, err := getUserByID(e, issue.PosterID)
err = issue.loadPoster(e)
if err != nil {
return fmt.Errorf("GetUserByID [%d]: %v", issue.PosterID, err)
}
if issue.PosterID != doer.ID && poster.IsActive && !poster.ProhibitLogin {
if issue.PosterID != doer.ID && issue.Poster.IsActive && !issue.Poster.ProhibitLogin {
participants = append(participants, issue.Poster)
}

Expand Down Expand Up @@ -88,6 +88,10 @@ func mailIssueCommentToParticipants(e Engine, issue *Issue, doer *User, content
names = append(names, participants[i].Name)
}

if err := issue.loadRepo(e); err != nil {
return err
}

for _, to := range tos {
SendIssueCommentMail(issue, doer, content, comment, []string{to})
}
Expand Down

0 comments on commit 0190d3c

Please sign in to comment.