Skip to content

Commit 7a734d9

Browse files
special case completeMPU
1 parent fd5803f commit 7a734d9

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

source/s3_default_meta_request.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -362,8 +362,15 @@ static void s_s3_default_prepare_request_finish(
362362
/* Only PUT Object and Upload part support trailing checksum, that needs the special encoding even if the body
363363
* has 0 length. */
364364
/* Create checksum context from config if needed */
365-
struct aws_s3_upload_request_checksum_context *checksum_context =
366-
aws_s3_upload_request_checksum_context_new(meta_request->allocator, &meta_request->checksum_config);
365+
struct aws_s3_upload_request_checksum_context *checksum_context = NULL;
366+
367+
/**
368+
* Note: CompleteMPU is unique in the sence that checksum on the object level is the full object checksum for all parts and
369+
* not checksum of the body. So avoid any additional checksum handling if default req is completeMPU.
370+
*/
371+
if (meta_request_default->request_type != AWS_S3_REQUEST_TYPE_COMPLETE_MULTIPART_UPLOAD) {
372+
checksum_context = aws_s3_upload_request_checksum_context_new(meta_request->allocator, &meta_request->checksum_config);
373+
}
367374

368375
aws_s3_message_util_assign_body(
369376
meta_request->allocator, &request->request_body, NULL, message, checksum_context);

0 commit comments

Comments
 (0)