mirror of
https://github.com/kemko/nomad.git
synced 2026-01-01 16:05:42 +03:00
api: ensure ACL role upsert decode error returns a 400 status code. (#15253)
This commit is contained in:
22
.semgrep/http_endpoint.yml
Normal file
22
.semgrep/http_endpoint.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
rules:
|
||||
- id: "http-endpoint-request-decode-error-code"
|
||||
patterns:
|
||||
- pattern: |
|
||||
if err := decodeBody(...); err != nil {
|
||||
return nil, CodedError(...)
|
||||
}
|
||||
- pattern-not-inside: |
|
||||
if err := decodeBody(...); err != nil {
|
||||
return nil, CodedError(400, ...)
|
||||
}
|
||||
- pattern-not-inside: |
|
||||
if err := decodeBody(...); err != nil {
|
||||
return nil, CodedError(http.StatusBadRequest, ...)
|
||||
}
|
||||
message: "HTTP endpoint request decode should return http.StatusBadRequest"
|
||||
languages:
|
||||
- "go"
|
||||
severity: "ERROR"
|
||||
paths:
|
||||
include:
|
||||
- "command/agent/*_endpoint.go"
|
||||
@@ -477,7 +477,7 @@ func (s *HTTPServer) aclRoleUpsertRequest(
|
||||
// Decode the ACL role.
|
||||
var aclRole structs.ACLRole
|
||||
if err := decodeBody(req, &aclRole); err != nil {
|
||||
return nil, CodedError(http.StatusInternalServerError, err.Error())
|
||||
return nil, CodedError(http.StatusBadRequest, err.Error())
|
||||
}
|
||||
|
||||
// Ensure the request path ID matches the ACL role ID that was decoded.
|
||||
|
||||
Reference in New Issue
Block a user