@@ -1428,15 +1428,16 @@ static int s_s3_meta_request_incoming_body(
14281428 }
14291429
14301430 if (request -> send_data .response_body .capacity == 0 ) {
1431- if (/* request->has_buffer_ticket_for_response &&*/ request -> ticket != NULL ) {
1431+ if (request -> has_buffer_ticket_for_response && request -> ticket != NULL ) {
14321432 request -> send_data .response_body = aws_s3_buffer_ticket_claim (request -> ticket );
14331433 } else {
14341434 size_t buffer_size = s_dynamic_body_initial_buf_size ;
14351435 aws_byte_buf_init (& request -> send_data .response_body , meta_request -> allocator , buffer_size );
14361436 }
14371437 }
14381438
1439- AWS_FATAL_ASSERT (request -> send_data .response_body .len == 0 );
1439+ /* Sanity checking that we somehow haven't reused the same buffer for both upload and download*/
1440+ AWS_FATAL_ASSERT (request -> send_data .response_body .buffer != request -> request_body .buffer );
14401441
14411442 /* Note: not having part sized response body means the buffer is dynamic and
14421443 * can grow. */
@@ -2370,8 +2371,8 @@ struct aws_s3_meta_request_poll_write_result aws_s3_meta_request_poll_write(
23702371
23712372 struct aws_future_s3_buffer_ticket * buffered_ticket_future ;
23722373 /* NOTE: we acquire a forced-buffer because there's a risk of deadlock if we
2373- * waited for a normal ticket reservation, respecting the pool's memory limit.
2374- * (See "test_s3_many_async_uploads_without_data" for description of deadlock scenario) */
2374+ * waited for a normal ticket reservation, respecting the pool's memory limit.
2375+ * (See "test_s3_many_async_uploads_without_data" for description of deadlock scenario) */
23752376
23762377 struct aws_s3_buffer_pool_reserve_meta meta = {
23772378 .size = meta_request -> part_size ,
@@ -2394,7 +2395,6 @@ struct aws_s3_meta_request_poll_write_result aws_s3_meta_request_poll_write(
23942395
23952396 meta_request -> synced_data .async_write .buffered_data =
23962397 aws_s3_buffer_ticket_claim (meta_request -> synced_data .async_write .buffered_data_ticket );
2397-
23982398 }
23992399 } else {
24002400 AWS_LOGF_TRACE (
@@ -2404,7 +2404,7 @@ struct aws_s3_meta_request_poll_write_result aws_s3_meta_request_poll_write(
24042404 illegal_usage_terminate_meta_request = true;
24052405 aws_future_s3_buffer_ticket_release (buffered_ticket_future );
24062406 }
2407- }
2407+ }
24082408
24092409 if (!illegal_usage_terminate_meta_request ) {
24102410 /* Copy as much data as we can into the buffer */
0 commit comments