summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/hircine/scanner.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/hircine/scanner.py b/src/hircine/scanner.py
index 29ae04f..6e3fafb 100644
--- a/src/hircine/scanner.py
+++ b/src/hircine/scanner.py
@@ -8,7 +8,7 @@ from datetime import datetime, timezone
from enum import Enum
from hashlib import file_digest
from typing import NamedTuple
-from zipfile import ZipFile, is_zipfile
+from zipfile import BadZipFile, ZipFile, is_zipfile
from blake3 import blake3
from natsort import natsorted, ns
@@ -286,6 +286,11 @@ class Scanner:
hash = blake3()
with ZipFile(path, mode="r") as z:
+ try:
+ z.testzip()
+ except Exception as e:
+ raise BadZipFile(f"Corrupt zip file {path}") from e
+
input = [(path, info.filename) for info in z.infolist()]
loop = asyncio.get_event_loop()