summaryrefslogtreecommitdiff
path: root/third_party/libtiff/0024-upstream-PackBitsDecode-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libtiff/0024-upstream-PackBitsDecode-fix.patch')
-rw-r--r--third_party/libtiff/0024-upstream-PackBitsDecode-fix.patch17
1 files changed, 17 insertions, 0 deletions
diff --git a/third_party/libtiff/0024-upstream-PackBitsDecode-fix.patch b/third_party/libtiff/0024-upstream-PackBitsDecode-fix.patch
new file mode 100644
index 0000000000..eaae79746d
--- /dev/null
+++ b/third_party/libtiff/0024-upstream-PackBitsDecode-fix.patch
@@ -0,0 +1,17 @@
+diff --git a/third_party/libtiff/tif_packbits.c b/third_party/libtiff/tif_packbits.c
+index d2a0165de..92185e7f7 100644
+--- a/third_party/libtiff/tif_packbits.c
++++ b/third_party/libtiff/tif_packbits.c
+@@ -244,6 +244,12 @@ PackBitsDecode(TIFF* tif, uint8* op, tmsize_t occ, uint16 s)
+ (unsigned long) ((tmsize_t)n - occ));
+ n = (long)occ;
+ }
++ if( cc == 0 )
++ {
++ TIFFWarningExt(tif->tif_clientdata, module,
++ "Terminating PackBitsDecode due to lack of data.");
++ break;
++ }
+ occ -= n;
+ b = *bp++;
+ cc--;