From 48191dd748d228336f04d55e1b5ee0979f601c39 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Fri, 11 Dec 2020 20:44:08 -0800 Subject: [PATCH] return NoSuchVersion if invalid version-id is specified (#11091) --- cmd/bucket-handlers.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cmd/bucket-handlers.go b/cmd/bucket-handlers.go index 5410817a1..f0fac4309 100644 --- a/cmd/bucket-handlers.go +++ b/cmd/bucket-handlers.go @@ -28,6 +28,7 @@ import ( "strconv" "strings" + "github.com/google/uuid" "github.com/gorilla/mux" "github.com/minio/minio-go/v7/pkg/set" @@ -433,6 +434,20 @@ func (api objectAPIHandlers) DeleteMultipleObjectsHandler(w http.ResponseWriter, } continue } + if object.VersionID != "" && object.VersionID != nullVersionID { + if _, err := uuid.Parse(object.VersionID); err != nil { + logger.LogIf(ctx, fmt.Errorf("invalid version-id specified %w", err)) + apiErr := errorCodes.ToAPIErr(ErrNoSuchVersion) + dErrs[index] = DeleteError{ + Code: apiErr.Code, + Message: apiErr.Description, + Key: object.ObjectName, + VersionID: object.VersionID, + } + continue + } + } + if replicateDeletes || hasLockEnabled || hasLifecycleConfig { goi, gerr = getObjectInfoFn(ctx, bucket, object.ObjectName, ObjectOptions{ VersionID: object.VersionID,