summaryrefslogtreecommitdiff
path: root/ext/exif/exif.c
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2016-08-08 00:49:34 -0700
committerAnatol Belski <ab@php.net>2016-08-16 15:04:16 +0200
commit24fb60ffe9d23a6af27d96b74a85f6a237bbd14a (patch)
tree788ca57d151bec51c5066e84e51bfbded485fe39 /ext/exif/exif.c
parentd926a48fd27942d15190a6defdcb05b1e07c9701 (diff)
downloadphp-git-24fb60ffe9d23a6af27d96b74a85f6a237bbd14a.tar.gz
Fixed bug #72627: Memory Leakage In exif_process_IFD_in_TIFF
(cherry picked from commit 620b01337cc39f856ca68c34c35e154f5f0682fc) Conflicts: ext/exif/exif.c
Diffstat (limited to 'ext/exif/exif.c')
-rw-r--r--ext/exif/exif.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/exif/exif.c b/ext/exif/exif.c
index cf221419d5..2b9d560a51 100644
--- a/ext/exif/exif.c
+++ b/ext/exif/exif.c
@@ -3747,6 +3747,10 @@ static int exif_process_IFD_in_TIFF(image_info_type *ImageInfo, size_t dir_offse
fgot = php_stream_read(ImageInfo->infile, ImageInfo->Thumbnail.data, ImageInfo->Thumbnail.size);
if (fgot < ImageInfo->Thumbnail.size) {
EXIF_ERRLOG_THUMBEOF(ImageInfo)
+ efree(ImageInfo->Thumbnail.data);
+ ImageInfo->Thumbnail.data = NULL;
+ } else {
+ exif_thumbnail_build(ImageInfo);
}
exif_thumbnail_build(ImageInfo);
}