Fix missing check (#28406) (#28411)

Backport #28406 by @lunny

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
(cherry picked from commit cd2dd5a67d)
This commit is contained in:
Giteabot 2023-12-11 09:10:48 +08:00 committed by Earl Warren
parent 69b4fd5fe2
commit e4dc14f070
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
2 changed files with 24 additions and 4 deletions

View file

@ -193,15 +193,29 @@ func SoftDeleteContentHistory(ctx *context.Context) {
var comment *issues_model.Comment var comment *issues_model.Comment
var history *issues_model.ContentHistory var history *issues_model.ContentHistory
var err error var err error
if history, err = issues_model.GetIssueContentHistoryByID(ctx, historyID); err != nil {
log.Error("can not get issue content history %v. err=%v", historyID, err)
return
}
if history.IssueID != issue.ID {
ctx.NotFound("CompareRepoID", issues_model.ErrCommentNotExist{})
return
}
if commentID != 0 { if commentID != 0 {
if history.CommentID != commentID {
ctx.NotFound("CompareCommentID", issues_model.ErrCommentNotExist{})
return
}
if comment, err = issues_model.GetCommentByID(ctx, commentID); err != nil { if comment, err = issues_model.GetCommentByID(ctx, commentID); err != nil {
log.Error("can not get comment for issue content history %v. err=%v", historyID, err) log.Error("can not get comment for issue content history %v. err=%v", historyID, err)
return return
} }
} if comment.IssueID != issue.ID {
if history, err = issues_model.GetIssueContentHistoryByID(ctx, historyID); err != nil { ctx.NotFound("CompareIssueID", issues_model.ErrCommentNotExist{})
log.Error("can not get issue content history %v. err=%v", historyID, err) return
return }
} }
canSoftDelete := canSoftDeleteContentHistory(ctx, issue, comment, history) canSoftDelete := canSoftDeleteContentHistory(ctx, issue, comment, history)

View file

@ -90,6 +90,12 @@ func IssuePinMove(ctx *context.Context) {
return return
} }
if issue.RepoID != ctx.Repo.Repository.ID {
ctx.Status(http.StatusNotFound)
log.Error("Issue does not belong to this repository")
return
}
err = issue.MovePin(ctx, form.Position) err = issue.MovePin(ctx, form.Position)
if err != nil { if err != nil {
ctx.Status(http.StatusInternalServerError) ctx.Status(http.StatusInternalServerError)