tony2001                Fri Sep 15 07:26:19 2006 UTC

  Added files:                 
    /php-src/ext/standard/tests/file    stream_001.phpt 

  Modified files:              
    /php-src/main/streams       streams.c 
  Log:
  fix double free(), add test
  
  
http://cvs.php.net/viewvc.cgi/php-src/main/streams/streams.c?r1=1.132&r2=1.133&diff_format=u
Index: php-src/main/streams/streams.c
diff -u php-src/main/streams/streams.c:1.132 
php-src/main/streams/streams.c:1.133
--- php-src/main/streams/streams.c:1.132        Sun Sep 10 13:01:28 2006
+++ php-src/main/streams/streams.c      Fri Sep 15 07:26:19 2006
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: streams.c,v 1.132 2006/09/10 13:01:28 tony2001 Exp $ */
+/* $Id: streams.c,v 1.133 2006/09/15 07:26:19 tony2001 Exp $ */
 
 #define _GNU_SOURCE
 #include "php.h"
@@ -1990,7 +1990,6 @@
                        if (FAILURE == zend_hash_find(wrapper_hash, (char*)tmp, 
n, (void**)&wrapperpp)) {
                                char wrapper_name[32];
 
-                               efree(tmp);
                                if (n >= sizeof(wrapper_name)) {
                                        n = sizeof(wrapper_name) - 1;
                                }

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/stream_001.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/file/stream_001.phpt
+++ php-src/ext/standard/tests/file/stream_001.phpt
--TEST--
stream_wrapper_unregister() & stream_wrapper_restore()
--FILE--
<?php

var_dump(stream_wrapper_unregister('file'));
var_dump(fopen("file://".__FILE__, "r"));
var_dump(stream_wrapper_restore('file'));
var_dump(fopen("file://".__FILE__, "r"));

echo "Done\n";
?>
--EXPECTF--     
bool(true)

Notice: fopen(): Unable to find the wrapper "file" - did you forget to enable 
it when you configured PHP? in %s on line %d

Warning: fopen(): Plainfiles wrapper disabled in %s on line %d

Warning: fopen(file:///%s): failed to open stream: no suitable wrapper could be 
found in %s on line %d
bool(false)
bool(true)
resource(%d) of type (stream)
Done

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to