1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-02-23 22:51:35 +00:00

Merge pull request #99 from ThomasWaldmann/attic_issue_232

fix Traceback when running check --repair, attic issue #232
This commit is contained in:
TW 2015-07-15 13:43:44 +02:00
commit 9cb038af3a
2 changed files with 7 additions and 0 deletions

View file

@ -755,6 +755,10 @@ def missing_chunk_detector(chunk_id):
for chunk_id, cdata in zip(items, repository.get_many(items)):
unpacker.feed(self.key.decrypt(chunk_id, cdata))
for item in unpacker:
if not isinstance(item, dict):
self.report_progress('Did not get expected metadata dict - archive corrupted!',
error=True)
continue
yield item
repository = cache_if_remote(self.repository)

View file

@ -287,6 +287,9 @@ def fetch_and_build_idx(archive_id, repository, key, tmp_dir, tf_out):
add(chunk_idx, item_id, len(data), len(chunk))
unpacker.feed(data)
for item in unpacker:
if not isinstance(item, dict):
print('Error: Did not get expected metadata dict - archive corrupted!')
continue
if b'chunks' in item:
for chunk_id, size, csize in item[b'chunks']:
add(chunk_idx, chunk_id, size, csize)