From f8efdaf88c2955a9a51907db52cd6a99fab5bcc5 Mon Sep 17 00:00:00 2001 From: Andres Martinez Gotor Date: Tue, 11 Feb 2025 09:18:57 +0100 Subject: [PATCH] apiserver: Avoid panic for DELETE requests (#100372) --- pkg/apiserver/endpoints/responsewriter/responsewriter.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/apiserver/endpoints/responsewriter/responsewriter.go b/pkg/apiserver/endpoints/responsewriter/responsewriter.go index 150fb7eeb89..7bba579c9ea 100644 --- a/pkg/apiserver/endpoints/responsewriter/responsewriter.go +++ b/pkg/apiserver/endpoints/responsewriter/responsewriter.go @@ -56,6 +56,12 @@ func NewAdapter(req *http.Request) *ResponseAdapter { writer := bufio.NewWriter(w) reader := bufio.NewReader(r) buffered := bufio.NewReadWriter(reader, writer) + if req.Method == http.MethodDelete && req.Body == nil { + // The apiserver tries to read the body of DELETE requests, + // which causes a panic if the body is nil. + // https://github.com/kubernetes/apiserver/blob/v0.32.1/pkg/endpoints/handlers/delete.go#L88 + req.Body = http.NoBody + } return &ResponseAdapter{ req: req, res: http.Response{