Fix missing check (#28406) (#28413)

backport #28406
This commit is contained in:
Lunny Xiao 2023-12-12 16:49:00 +08:00 committed by GitHub
parent 59d88c47b8
commit 782414ba8f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 4 deletions

View file

@ -189,16 +189,30 @@ 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)
if !canSoftDelete { if !canSoftDelete {

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)