From:             agiorgio at optonline dot net
Operating system: Linux
PHP version:      5.1.4
PHP Bug Type:     Reproducible crash
Bug description:  Calling readdir() causes a SEGV

Description:
------------
Calling readdir() causes PHP to crash.

Reproduce code:
---------------
class mystream
{
    function dir_opendir($url, $options)
    {
        return true;
    }
}

stream_wrapper_register("test", "mystream");

$dir = opendir("test://a");
readdir($dir);


Expected result:
----------------
PHP should not crash.

Actual result:
--------------
(gdb) run
Starting program: /home/angio/php-5.1.4/sapi/cli/php ~/test.php

Warning: readdir(): mystream::dir_readdir is not implemented! in
/home/angio/test.php on line 14

Program received signal SIGSEGV, Segmentation fault.
0x0824e632 in zend_object_store_get_object (zobject=0x3)
    at /home/angio/php-5.1.4/Zend/zend_objects_API.c:215
215             return
EG(objects_store).object_buckets[handle].bucket.obj.object;
(gdb) where
#0  0x0824e632 in zend_object_store_get_object (zobject=0x3)
    at /home/angio/php-5.1.4/Zend/zend_objects_API.c:215
#1  0x08225030 in zend_call_function (fci=0xbfbeb4b0, fci_cache=0x0)
    at /home/angio/php-5.1.4/Zend/zend_execute_API.c:661
#2  0x0822524e in call_user_function_ex (function_table=0x3,
object_pp=0x3,
    function_name=0x3, retval_ptr_ptr=0x3, param_count=3, params=0x3,
    no_separation=3, symbol_table=0x3)
    at /home/angio/php-5.1.4/Zend/zend_execute_API.c:579
#3  0x082095bf in php_userstreamop_closedir (stream=0x3, close_handle=1)
    at /home/angio/php-5.1.4/main/streams/userspace.c:1266
#4  0x082009d4 in _php_stream_free (stream=0x842c164, close_options=11)
    at /home/angio/php-5.1.4/main/streams/streams.c:342
#5  0x0820129c in stream_resource_regular_dtor (rsrc=0x3)
    at /home/angio/php-5.1.4/main/streams/streams.c:1373
#6  0x0823e8bf in list_entry_destructor (ptr=0x842bf7c)
    at /home/angio/php-5.1.4/Zend/zend_list.c:184
#7  0x0823d2ba in zend_hash_apply_deleter (ht=0x8374bc0, p=0x842c06c)
    at /home/angio/php-5.1.4/Zend/zend_hash.c:576
#8  0x0823d387 in zend_hash_graceful_reverse_destroy (ht=0x8374bc0)
    at /home/angio/php-5.1.4/Zend/zend_hash.c:642
#9  0x0823165e in zend_deactivate () at
/home/angio/php-5.1.4/Zend/zend.c:860
#10 0x081ec005 in php_request_shutdown (dummy=0x0)
    at /home/angio/php-5.1.4/main/main.c:1287
#11 0x082b34db in main (argc=2, argv=0xbfbec1f4)
    at /home/angio/php-5.1.4/sapi/cli/php_cli.c:1245


-- 
Edit bug report at http://bugs.php.net/?id=38246&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=38246&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=38246&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=38246&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=38246&r=fixedcvs
Fixed in release:             
http://bugs.php.net/fix.php?id=38246&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=38246&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=38246&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=38246&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=38246&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=38246&r=notwrong
Not enough info:              
http://bugs.php.net/fix.php?id=38246&r=notenoughinfo
Submitted twice:              
http://bugs.php.net/fix.php?id=38246&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=38246&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=38246&r=php3
Daylight Savings:             http://bugs.php.net/fix.php?id=38246&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=38246&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=38246&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=38246&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=38246&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=38246&r=mysqlcfg

Reply via email to