#34338 [NEW]: wrong if in ext/standard/image.c
| From: | upstaked at yahoo dot com | Date: | Thu, 01 Sep 2005 20:58:46 +0000 |
| Subject: | #34338 [NEW]: wrong if in ext/standard/image.c | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-84324@lists.php.net to get a copy of this message | ||
From: upstaked at yahoo dot com
Operating system: *nix
PHP version: 5.0.4
PHP Bug Type: GetImageSize related
Bug description: wrong if in ext/standard/image.c
Description:
------------
getimagesize() returns false for compressed swf files, and issues a
notice.
This is due to the lines in ext/standard/image.c:
#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
result = php_handle_swc(stream TSRMLS_CC);
#else
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "The
image is a compressed SWF file, but you do not have a static version o
f the zlib extension enabled.");
#endif
The "!defined(COMPILE_DL_ZLIB)" part of the if does not work; besides, it
shouldn't even be there. So, when trying to do getimagesize() on a
compressed swf:
1. Even when zlib is statically compiled, !defined(COMPILE_DL_ZLIB) fails,
so you get the pretty notice no matter what.
2. Removing that part of the if, it works even when compiled
--with-zlib=shared.
Using zlib-1.2.1.2, zlib-devel-1.2.1.2.
The same issue with the latest snapshot of php.
Reproduce code:
---------------
<?php
error_reporting( E_ALL | E_STRICT);
print_r(
getimagesize('compressed.swf')
);
print_r(
getimagesize('not_compressed.swf')
);
?>
Expected result:
----------------
Array
(
[0] => 550
[1] => 400
[2] => 13
[3] => width="550" height="400"
[mime] => application/x-shockwave-flash
)
Array
(
[0] => 550
[1] => 400
[2] => 4
[3] => width="550" height="400"
[mime] => application/x-shockwave-flash
)
Actual result:
--------------
Notice: getimagesize(): The image is a compressed SWF file, but you do not
have a static version of the zlib extension enabled. in /_index.php on line
14
Array
(
[0] => 550
[1] => 400
[2] => 4
[3] => width="550" height="400"
[mime] => application/x-shockwave-flash
)
--
Edit bug report at http://bugs.php.net/?id=34338&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=34338&r=trysnapshot4
Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=34338&r=trysnapshot50
Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=34338&r=trysnapshot51
Fixed in CVS: http://bugs.php.net/fix.php?id=34338&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=34338&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=34338&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=34338&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=34338&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=34338&r=support
Expected behavior: http://bugs.php.net/fix.php?id=34338&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=34338&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=34338&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=34338&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=34338&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=34338&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=34338&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=34338&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=34338&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=34338&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=34338&r=mysqlcfg