Skip to content

Commit 0183f6b

Browse files
committed
Guard against incomplete multipart checksum state
1 parent 7e594d3 commit 0183f6b

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

awscli/s3transfer/checksums.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,13 @@ def register_part(self, part_index, checksum, data_length):
7070
self._parts[part_index] = PartChecksum(crc_int, data_length)
7171

7272
def combine_and_validate(self):
73+
if len(self._parts) != self._num_parts:
74+
logger.debug(
75+
f'Skipping full object checksum validation. '
76+
f'Expected {self._num_parts} parts but only '
77+
f'{len(self._parts)} were registered.'
78+
)
79+
return
7380
combined_bytes = self._get_combined_bytes()
7481
combined_b64 = base64.b64encode(combined_bytes).decode('ascii')
7582
expected_bytes = base64.b64decode(self._expected_b64)

0 commit comments

Comments
 (0)