From 5bdf54b5a76b54fb00bd05f2d733e0a4173eefc9 Mon Sep 17 00:00:00 2001 From: wiredfool Date: Tue, 2 Feb 2016 05:46:26 -0800 Subject: [PATCH] PCD decoder overruns the shuffle buffer, Fixes #568 --- Tests/images/hopper.pcd | Bin 0 -> 788480 bytes Tests/test_file_pcd.py | 21 +++++++++++++++++++++ libImaging/PcdDecode.c | 4 ++-- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 Tests/images/hopper.pcd create mode 100644 Tests/test_file_pcd.py diff --git a/Tests/images/hopper.pcd b/Tests/images/hopper.pcd new file mode 100644 index 0000000000000000000000000000000000000000..8ffaf717e80402db14984e5e627908242aadbfee GIT binary patch literal 788480 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