summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthestig <thestig@chromium.org>2016-08-01 19:36:27 -0700
committerCommit bot <commit-bot@chromium.org>2016-08-01 19:36:27 -0700
commit8f7970040548ff3550ce450944d39d4660b3d918 (patch)
tree2a94b8a8911303874bfe544384fe1c9c5cd5141c
parent2d7ab183976259dd9f428bfe3e10966fdd3e5f65 (diff)
downloadpdfium-8f7970040548ff3550ce450944d39d4660b3d918.tar.xz
Fix a memory leak in libtiff.
BUG=633387 Review-Url: https://codereview.chromium.org/2204793002
-rw-r--r--third_party/libtiff/0005-Leak-TIFFFetchStripThing.patch13
-rw-r--r--third_party/libtiff/README.pdfium1
-rw-r--r--third_party/libtiff/tif_dirread.c2
3 files changed, 16 insertions, 0 deletions
diff --git a/third_party/libtiff/0005-Leak-TIFFFetchStripThing.patch b/third_party/libtiff/0005-Leak-TIFFFetchStripThing.patch
new file mode 100644
index 0000000000..0f9b16873f
--- /dev/null
+++ b/third_party/libtiff/0005-Leak-TIFFFetchStripThing.patch
@@ -0,0 +1,13 @@
+diff --git a/third_party/libtiff/tif_dirread.c b/third_party/libtiff/tif_dirread.c
+index a0dc68b..5ef3264 100644
+--- a/third_party/libtiff/tif_dirread.c
++++ b/third_party/libtiff/tif_dirread.c
+@@ -5372,6 +5372,8 @@ TIFFFetchStripThing(TIFF* tif, TIFFDirEntry* dir, uint32 nstrips, uint64** lpp)
+ static const char module[] = "TIFFFetchStripThing";
+ enum TIFFReadDirEntryErr err;
+ uint64* data;
++ _TIFFfree(*lpp);
++ *lpp = 0;
+ err=TIFFReadDirEntryLong8Array(tif,dir,&data);
+ if (err!=TIFFReadDirEntryErrOk)
+ {
diff --git a/third_party/libtiff/README.pdfium b/third_party/libtiff/README.pdfium
index 09577f93fb..05e4965c4f 100644
--- a/third_party/libtiff/README.pdfium
+++ b/third_party/libtiff/README.pdfium
@@ -14,3 +14,4 @@ Local Modifications:
0002-CVE-2015-8665-8683.patch: Security fixes
0003-CVE-2015-8781-8782-8783.patch: Security fixes
0004-CVE-2015-8784.patch: Security fixes
+0005-Leak-TIFFFetchStripThing.patch: Fix a memory leak
diff --git a/third_party/libtiff/tif_dirread.c b/third_party/libtiff/tif_dirread.c
index a0dc68b78e..5ef326485b 100644
--- a/third_party/libtiff/tif_dirread.c
+++ b/third_party/libtiff/tif_dirread.c
@@ -5372,6 +5372,8 @@ TIFFFetchStripThing(TIFF* tif, TIFFDirEntry* dir, uint32 nstrips, uint64** lpp)
static const char module[] = "TIFFFetchStripThing";
enum TIFFReadDirEntryErr err;
uint64* data;
+ _TIFFfree(*lpp);
+ *lpp = 0;
err=TIFFReadDirEntryLong8Array(tif,dir,&data);
if (err!=TIFFReadDirEntryErrOk)
{