summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2020-06-13 18:32:01 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2020-06-13 18:32:15 +0200
commit59e343c77909626ce70adf9e470a09bc8e982aae (patch)
treeb9a4c07e5abf631564030dd1d63088c5c7e3620a
parent8641d76f62273f3a73449fd720c93c63992f3b5a (diff)
parent5621c5faf899c94baa2b41acb457494ca30368c3 (diff)
downloadphp-git-59e343c77909626ce70adf9e470a09bc8e982aae.tar.gz
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3: Fix #79687: Sony picture - PHP Warning - Make, Model, MakerNotes
-rw-r--r--NEWS4
-rw-r--r--ext/exif/exif.c2
-rw-r--r--ext/exif/tests/bug77563.phpt2
-rw-r--r--ext/exif/tests/bug78910.phpt31
4 files changed, 36 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 4022538028..625c1da8a1 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,10 @@ PHP NEWS
. Fixed bug #79683 (Fake reflection scope affects __toString()). (Nikita)
. Fixed possibly unsupported timercmp() usage. (cmb)
+- Exif:
+ . Fixed bug #79687 (Sony picture - PHP Warning - Make, Model, MakerNotes).
+ (cmb)
+
- Fileinfo:
. Fixed bug #79681 (mime_content_type/finfo returning incorrect mimetype).
(cmb)
diff --git a/ext/exif/exif.c b/ext/exif/exif.c
index 31ef1e2dd0..6ff7fd28ed 100644
--- a/ext/exif/exif.c
+++ b/ext/exif/exif.c
@@ -3184,7 +3184,7 @@ static int exif_process_IFD_in_MAKERNOTE(image_info_type *ImageInfo, char * valu
if (value_len < 2 || maker_note->offset >= value_len - 1) {
/* Do not go past the value end */
exif_error_docref("exif_read_data#error_ifd" EXIFERR_CC, ImageInfo, E_WARNING, "IFD data too short: 0x%04X offset 0x%04X", value_len, maker_note->offset);
- return FALSE;
+ return TRUE;
}
dir_start = value_ptr + maker_note->offset;
diff --git a/ext/exif/tests/bug77563.phpt b/ext/exif/tests/bug77563.phpt
index 6e427a77ce..95bbc9d97d 100644
--- a/ext/exif/tests/bug77563.phpt
+++ b/ext/exif/tests/bug77563.phpt
@@ -10,6 +10,8 @@ DONE
--EXPECTF--
Warning: exif_thumbnail(bug77563.jpg): IFD data too short: 0x0009 offset 0x0008 in %s%ebug77563.php on line %d
+Warning: exif_thumbnail(bug77563.jpg): Illegal IFD offset in %s%ebug77563.php on line %d
+
Warning: exif_thumbnail(bug77563.jpg): File structure corrupted in %s%ebug77563.php on line %d
Warning: exif_thumbnail(bug77563.jpg): Invalid JPEG file in %s%ebug77563.php on line %d
diff --git a/ext/exif/tests/bug78910.phpt b/ext/exif/tests/bug78910.phpt
index 2f79e8debc..00085a6b1e 100644
--- a/ext/exif/tests/bug78910.phpt
+++ b/ext/exif/tests/bug78910.phpt
@@ -13,5 +13,32 @@ Warning: exif_read_data(): Process tag(x927C=MakerNote): Illegal format code 0x2
Warning: exif_read_data(): IFD data too short: 0x0000 offset 0x000C in %s on line %d
-Warning: exif_read_data(): Invalid TIFF file in %s on line %d
-bool(false)
+Warning: exif_read_data(): Error in TIFF: filesize(x002A) less than start of IFD dir(x46494C4F) in %s on line %d
+array(8) {
+ ["FileDateTime"]=>
+ int(0)
+ ["FileSize"]=>
+ int(42)
+ ["FileType"]=>
+ int(8)
+ ["MimeType"]=>
+ string(10) "image/tiff"
+ ["SectionsFound"]=>
+ string(13) "ANY_TAG, IFD0"
+ ["COMPUTED"]=>
+ array(2) {
+ ["IsColor"]=>
+ int(0)
+ ["ByteOrderMotorola"]=>
+ int(1)
+ }
+ ["Make"]=>
+ array(2) {
+ [0]=>
+ int(1179994697)
+ [1]=>
+ int(1179208781)
+ }
+ ["MakerNote"]=>
+ NULL
+}