Fix internal server error when updating labels without write permission (#32776) (#32785)

This commit is contained in:
Giteabot 2024-12-11 09:22:03 +08:00 committed by GitHub
parent 3a9039bc95
commit 0c7e44fcf7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -319,6 +319,11 @@ func prepareForReplaceOrAdd(ctx *context.APIContext, form api.IssueLabelsOption)
return nil, nil, err
}
if !ctx.Repo.CanWriteIssuesOrPulls(issue.IsPull) {
ctx.Error(http.StatusForbidden, "CanWriteIssuesOrPulls", "write permission is required")
return nil, nil, fmt.Errorf("permission denied")
}
var (
labelIDs []int64
labelNames []string
@ -350,10 +355,5 @@ func prepareForReplaceOrAdd(ctx *context.APIContext, form api.IssueLabelsOption)
return nil, nil, err
}
if !ctx.Repo.CanWriteIssuesOrPulls(issue.IsPull) {
ctx.Status(http.StatusForbidden)
return nil, nil, nil
}
return issue, labels, err
}