From 94c4f765707055c1b9e5989775ddab2d19344968 Mon Sep 17 00:00:00 2001 From: JustAnotherArchivist Date: Tue, 30 Apr 2019 04:13:45 +0000 Subject: [PATCH] Fix crash when a digest is missing from a record --- warc-tiny | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/warc-tiny b/warc-tiny index d640223..af309ce 100755 --- a/warc-tiny +++ b/warc-tiny @@ -218,11 +218,14 @@ class VerifyMode(ProcessMode): self._recordID = next(x[1] for x in event.warcHeaders if x[0] == b'WARC-Record-ID') self._recordType = next(x[1] for x in event.warcHeaders if x[0] == b'WARC-Type') elif type(event) is WARCBlockChunk: - self._blockDigester.update(event.data) + if self._blockDigester: + self._blockDigester.update(event.data) elif type(event) is HTTPResponseBodyChunk: - self._payloadDigester.update(event.data) + if self._payloadDigester: + self._payloadDigester.update(event.data) elif type(event) is RawHTTPResponseBodyChunk: - self._brokenPayloadDigester.update(event.data) + if self._brokenPayloadDigester: + self._brokenPayloadDigester.update(event.data) elif type(event) is EndOfRecord: if self._blockDigester: if self._recordedBlockDigest != b'sha1:' + base64.b32encode(self._blockDigester.digest()):