summaryrefslogtreecommitdiff
path: root/third_party/libtiff/0024-upstream-PackBitsDecode-fix.patch
blob: eaae79746d9681961acf62706cd197c6d31540f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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--;