summaryrefslogtreecommitdiff
path: root/third_party/libtiff/0018-fix-leak-in-PredictorSetupDecode.patch
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libtiff/0018-fix-leak-in-PredictorSetupDecode.patch')
-rw-r--r--third_party/libtiff/0018-fix-leak-in-PredictorSetupDecode.patch44
1 files changed, 10 insertions, 34 deletions
diff --git a/third_party/libtiff/0018-fix-leak-in-PredictorSetupDecode.patch b/third_party/libtiff/0018-fix-leak-in-PredictorSetupDecode.patch
index a18df77409..e7758eb573 100644
--- a/third_party/libtiff/0018-fix-leak-in-PredictorSetupDecode.patch
+++ b/third_party/libtiff/0018-fix-leak-in-PredictorSetupDecode.patch
@@ -1,39 +1,15 @@
-diff --git a/third_party/libtiff/tif_pixarlog.c b/third_party/libtiff/tif_pixarlog.c
-index 80006d5b1..29535d31e 100644
---- a/third_party/libtiff/tif_pixarlog.c
-+++ b/third_party/libtiff/tif_pixarlog.c
-@@ -697,9 +697,6 @@ PixarLogSetupDecode(TIFF* tif)
- if (sp->user_datafmt == PIXARLOGDATAFMT_UNKNOWN)
- sp->user_datafmt = PixarLogGuessDataFmt(td);
- if (sp->user_datafmt == PIXARLOGDATAFMT_UNKNOWN) {
-- _TIFFfree(sp->tbuf);
-- sp->tbuf = NULL;
-- sp->tbuf_size = 0;
- TIFFErrorExt(tif->tif_clientdata, module,
- "PixarLog compression can't handle bits depth/data format combination (depth: %d)",
- td->td_bitspersample);
-@@ -707,9 +704,6 @@ PixarLogSetupDecode(TIFF* tif)
- }
-
- if (inflateInit(&sp->stream) != Z_OK) {
-- _TIFFfree(sp->tbuf);
-- sp->tbuf = NULL;
-- sp->tbuf_size = 0;
- TIFFErrorExt(tif->tif_clientdata, module, "%s", sp->stream.msg);
- return (0);
- } else {
diff --git a/third_party/libtiff/tif_predict.c b/third_party/libtiff/tif_predict.c
-index 1388dde59..8975672ae 100644
+index 1bb78e209..0b185d2e2 100644
--- a/third_party/libtiff/tif_predict.c
+++ b/third_party/libtiff/tif_predict.c
-@@ -109,7 +109,10 @@ PredictorSetupDecode(TIFF* tif)
- TIFFDirectory* td = &tif->tif_dir;
+@@ -118,7 +118,10 @@ PredictorSetupDecode(TIFF* tif)
+ TIFFDirectory* td = &tif->tif_dir;
- if (!(*sp->setupdecode)(tif) || !PredictorSetup(tif))
-+ {
-+ (*tif->tif_cleanup)(tif);
- return 0;
-+ }
+ if (!(*sp->setupdecode)(tif) || !PredictorSetup(tif))
++ {
++ (*tif->tif_cleanup)(tif);
+ return 0;
++ }
- if (sp->predictor == 2) {
- switch (td->td_bitspersample) {
+ if (sp->predictor == 2) {
+ switch (td->td_bitspersample) {