From: Stanislav Malyshev Date: Mon, 8 Jul 2019 00:01:01 +0000 (-0700) Subject: Fix bug #78222 (heap-buffer-overflow on exif_scan_thumbnail) X-Git-Tag: php-7.1.31~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dea2989ab8ba87a6180af497b2efaf0527e985c5;p=php Fix bug #78222 (heap-buffer-overflow on exif_scan_thumbnail) --- diff --git a/ext/exif/exif.c b/ext/exif/exif.c index 605b37923f..cd7975a9f5 100644 --- a/ext/exif/exif.c +++ b/ext/exif/exif.c @@ -3498,7 +3498,7 @@ static int exif_scan_thumbnail(image_info_type *ImageInfo) size_t length=2, pos=0; jpeg_sof_info sof_info; - if (!data) { + if (!data || ImageInfo->Thumbnail.size < 4) { return FALSE; /* nothing to do here */ } if (memcmp(data, "\xFF\xD8\xFF", 3)) { diff --git a/ext/exif/tests/bug78222.jpg b/ext/exif/tests/bug78222.jpg new file mode 100644 index 0000000000..a96e16be51 Binary files /dev/null and b/ext/exif/tests/bug78222.jpg differ diff --git a/ext/exif/tests/bug78222.phpt b/ext/exif/tests/bug78222.phpt new file mode 100644 index 0000000000..0e4ead33e4 --- /dev/null +++ b/ext/exif/tests/bug78222.phpt @@ -0,0 +1,11 @@ +--TEST-- +Bug #78222 (heap-buffer-overflow on exif_scan_thumbnail) +--SKIPIF-- + +--FILE-- + +DONE +--EXPECTF-- +DONE \ No newline at end of file