From 14f6ac92228bf8b9f57525764e9262b18f41479f Mon Sep 17 00:00:00 2001 From: jiuker <2818723467@qq.com> Date: Thu, 1 Jun 2023 01:58:14 +0800 Subject: [PATCH] fix: fail large content in DeleteMultipleObjects() early (#17321) --- cmd/bucket-handlers.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmd/bucket-handlers.go b/cmd/bucket-handlers.go index de24939a1..7d719dba3 100644 --- a/cmd/bucket-handlers.go +++ b/cmd/bucket-handlers.go @@ -439,6 +439,11 @@ func (api objectAPIHandlers) DeleteMultipleObjectsHandler(w http.ResponseWriter, // The max. XML contains 100000 object names (each at most 1024 bytes long) + XML overhead const maxBodySize = 2 * 100000 * 1024 + if r.ContentLength > maxBodySize { + writeErrorResponse(ctx, w, errorCodes.ToAPIErr(ErrEntityTooLarge), r.URL) + return + } + // Unmarshal list of keys to be deleted. deleteObjectsReq := &DeleteObjectsRequest{} if err := xmlDecoder(r.Body, deleteObjectsReq, maxBodySize); err != nil {