]> granicus.if.org Git - php/commitdiff
Revert "Fixed bug #72735 (Samsung picture thumb not read (zero size))"
authorKalle Sommer Nielsen <kalle@php.net>
Wed, 3 Aug 2016 04:10:56 +0000 (06:10 +0200)
committerKalle Sommer Nielsen <kalle@php.net>
Wed, 3 Aug 2016 04:10:56 +0000 (06:10 +0200)
This reverts commit 406dff2a02ff1cfac89942ce5e991d88d3b6cb50.

This seems to break more than expected and other tests seems to fail:
 - bug60150.phpt
 - bug62523_2.phpt
 - bug72603.phpt
 - bug72618.phpt

I'm gonna go do around of thinking and see if I can come up with a better fix

ext/exif/exif.c
ext/exif/tests/bug72735/bug72735.phpt [deleted file]
ext/exif/tests/bug72735/nokia.jpg [deleted file]
ext/exif/tests/bug72735/samsung.jpg [deleted file]

index 9e4c14a82d1a74ce67461a1ff22565b4aa4f1547..9f951d78a35d13dd954b0af5ce83d69564be85bb 100644 (file)
@@ -3152,7 +3152,7 @@ static int exif_process_IFD_in_JPEG(image_info_type *ImageInfo, char *dir_start,
        for (de=0;de<NumDirEntries;de++) {
                if (!exif_process_IFD_TAG(ImageInfo, dir_start + 2 + 12 * de,
                                                                  offset_base, IFDlength, displacement, section_index, 1, exif_get_tag_table(section_index))) {
-                       continue;
+                       return FALSE;
                }
        }
        /*
@@ -3430,6 +3430,7 @@ static int exif_scan_JPEG_header(image_info_type *ImageInfo)
                                if ((itemlen - 2) < 6) {
                                        return FALSE;
                                }
+
                                exif_process_SOFn(Data, marker, &sof_info);
                                ImageInfo->Width  = sof_info.width;
                                ImageInfo->Height = sof_info.height;
diff --git a/ext/exif/tests/bug72735/bug72735.phpt b/ext/exif/tests/bug72735/bug72735.phpt
deleted file mode 100644 (file)
index 4a8d360..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-Bug #72735 (Samsung picture thumb not read (zero size))
---SKIPIF--
-<?php if (!extension_loaded('exif')) print 'skip exif extension not available';?>
---FILE--
-<?php
-foreach (['nokia.jpg', 'samsung.jpg'] as $picture) {
-       $len = strlen(exif_thumbnail(__DIR__ . '/' . $picture));
-
-       if ($len === 0) {
-               echo $picture . ': error, no thumbnail length', PHP_EOL;
-
-               continue;
-       }
-
-       echo $picture . ': int(' . $len . ')', PHP_EOL;
-}
-?>
---EXPECTF--
-nokia.jpg: int(%d)
-samsung.jpg: int(%d)
diff --git a/ext/exif/tests/bug72735/nokia.jpg b/ext/exif/tests/bug72735/nokia.jpg
deleted file mode 100644 (file)
index 48367bf..0000000
Binary files a/ext/exif/tests/bug72735/nokia.jpg and /dev/null differ
diff --git a/ext/exif/tests/bug72735/samsung.jpg b/ext/exif/tests/bug72735/samsung.jpg
deleted file mode 100644 (file)
index 7009606..0000000
Binary files a/ext/exif/tests/bug72735/samsung.jpg and /dev/null differ