1
0
mirror of https://github.com/php/php-src.git synced 2026-04-29 11:13:36 +02:00
Files
archived-php-src/ext/standard/tests/image/bug72278.phpt
T
Christoph M. Becker 82df4e2638 Fix #72278: getimagesize returning FALSE on valid jpg
getimagesize() is rather strict about the length of the marker payload data,
and fails if there are extraneous bytes before the next marker. Only a very
special case reported in bug #13213 is catered to.

libjpeg is rather resilient to such corrupted JPEG files, and raises a
recoverable error in this case. Other image processors also accept such
JPEG files, so we adapt getimagesize() to skip (but warn about) such
extraneous bytes.
2016-08-13 16:14:34 +02:00

34 lines
630 B
PHP

--TEST--
Bug #72278 (getimagesize returning FALSE on valid jpg)
--SKIPIF--
<?php
if (!defined('IMAGETYPE_JPEG')) die('skip images of type JPEG not supported');
?>
--FILE--
<?php
define('FILENAME', __DIR__ . DIRECTORY_SEPARATOR . 'bug72278.jpg');
var_dump(getimagesize(FILENAME));
?>
===DONE===
--EXPECTF--
Warning: getimagesize(): corrupt JPEG data: 3 extraneous bytes before marker in %s%ebug72278.php on line %d
array(7) {
[0]=>
int(300)
[1]=>
int(300)
[2]=>
int(2)
[3]=>
string(24) "width="300" height="300""
["bits"]=>
int(8)
["channels"]=>
int(3)
["mime"]=>
string(10) "image/jpeg"
}
===DONE===