From 908eb5779551cf2b0108b2edf6d8c06b08269f03 Mon Sep 17 00:00:00 2001 From: Anis Elleuch Date: Sun, 27 Mar 2022 16:54:25 +0100 Subject: [PATCH] Always get the actual object size (#14637) In bulk ETag decryption, do not rely on the etag to check if it is encrypted or not to decide if we should set the actual object size in ObjectInfo. The reason is that multipart objects ETags are not encrypted. Always get the actual object size in that case. --- cmd/encryption-v1.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmd/encryption-v1.go b/cmd/encryption-v1.go index 1b50e05b8..20f074797 100644 --- a/cmd/encryption-v1.go +++ b/cmd/encryption-v1.go @@ -163,6 +163,8 @@ func DecryptETags(ctx context.Context, KMS kms.KMS, objects []ObjectInfo, batchS if err != nil { return err } + objects[i].Size = size + ETag, err := etag.Parse(objects[i].ETag) if err != nil { return err @@ -173,7 +175,6 @@ func DecryptETags(ctx context.Context, KMS kms.KMS, objects []ObjectInfo, batchS return err } ETag = etag.ETag(tag) - objects[i].Size = size objects[i].ETag = ETag.String() } }