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