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

Reply via email to