From 9685c2aa9897f6b6a5c3f32446c655d0e7d915cb Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Mon, 10 Feb 2025 15:04:27 +0000 Subject: [PATCH] inflate: Include a test case with zero-length uncompressed block This is the exact DEFLATE stream reported by Peter Keunecke. --- inflate/Makefile | 2 +- inflate/test_assets/XenonIcon.gz | Bin 0 -> 82839 bytes inflate/test_inflate.py | 18 +++++++++++++----- 3 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 inflate/test_assets/XenonIcon.gz diff --git a/inflate/Makefile b/inflate/Makefile index e95ee0e..f6efca5 100644 --- a/inflate/Makefile +++ b/inflate/Makefile @@ -20,7 +20,7 @@ all: depacker degzip # Test harness for inflate.S test_inflate: degzip test_inflate.o $(CC) -o $@ $@.o $(LDFLAGS) - $(PYTHON) test_inflate.py *.[cSo] *.asm ../cracking/protections/* ../cracking/cracks/nzs/gnu_c/* ../testkit/* + $(PYTHON) test_inflate.py *.[cSo] *.asm ../cracking/protections/* ../cracking/cracks/nzs/gnu_c/* ../testkit/* test_assets/* %.o: %.S $(CC) -o $@ -c $< $(AFLAGS) diff --git a/inflate/test_assets/XenonIcon.gz b/inflate/test_assets/XenonIcon.gz new file mode 100644 index 0000000000000000000000000000000000000000..27b4772c36afaff6b5ee1dc4bc4f4232ac62e059 GIT binary patch literal 82839 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 literal 0 HcmV?d00001 diff --git a/inflate/test_inflate.py b/inflate/test_inflate.py index 4407b94..4ce210c 100644 --- a/inflate/test_inflate.py +++ b/inflate/test_inflate.py @@ -13,6 +13,7 @@ # Command for creating gzip files. GZIP = "zopfli --i32 -c" #GZIP = "gzip -c9" +GUNZIP = "gunzip -c" HUNK_HEADER = 0x3f3 HUNK_CODE = 0x3e9 @@ -34,15 +35,22 @@ def main(argv): def test(name): print("Testing '%s'..." % name) - # _test_0: Local copy of original file - os.system('cp "' + name + '" ' + PREFIX + '0') + if name.endswith('.gz'): + # _test_1: Local copy of original gzipped file + os.system('cp "' + name + '" ' + PREFIX + '1') + # _test_0: Uncompressed file + os.system(GUNZIP + ' ' + PREFIX + '1 >' + PREFIX + '0') + else: + # _test_0: Local copy of original uncompressed file + os.system('cp "' + name + '" ' + PREFIX + '0') + # _test_1: Gzipped file + os.system(GZIP + ' ' + PREFIX + '0 >' + PREFIX + '1') + + # CRC of uncompressed data crc16 = crcmod.predefined.Crc('crc-ccitt-false') with open(PREFIX + '0', 'rb') as f: crc16.update(f.read()) - # _test_1: Gzipped file - os.system(GZIP + ' ' + PREFIX + '0 >' + PREFIX + '1') - # _test_2: DEFLATE stream + custom header/footer os.system('degzip -H ' + PREFIX + '1 ' + PREFIX + '2')