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