tony2001                Fri Sep 15 07:27:22 2006 UTC

  Added files:                 (Branch: PHP_5_2)
    /php-src/ext/standard/tests/file    stream_001.phpt 

  Modified files:              
    /php-src/main/streams       streams.c 
  Log:
  MFH: fix double free(), add test
  
  
http://cvs.php.net/viewvc.cgi/php-src/main/streams/streams.c?r1=1.82.2.6.2.6&r2=1.82.2.6.2.7&diff_format=u
Index: php-src/main/streams/streams.c
diff -u php-src/main/streams/streams.c:1.82.2.6.2.6 
php-src/main/streams/streams.c:1.82.2.6.2.7
--- php-src/main/streams/streams.c:1.82.2.6.2.6 Sun Sep 10 13:01:37 2006
+++ php-src/main/streams/streams.c      Fri Sep 15 07:27:21 2006
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: streams.c,v 1.82.2.6.2.6 2006/09/10 13:01:37 tony2001 Exp $ */
+/* $Id: streams.c,v 1.82.2.6.2.7 2006/09/15 07:27:21 tony2001 Exp $ */
 
 #define _GNU_SOURCE
 #include "php.h"
@@ -1528,7 +1528,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