From: Antony Dovgal Date: Fri, 15 Sep 2006 07:27:22 +0000 (+0000) Subject: MFH: fix double free(), add test X-Git-Tag: php-5.2.0RC5~168 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=99b133d7a7b3a2e1a745cb24cbc5348d7aae2f8c;p=php MFH: fix double free(), add test --- diff --git a/ext/standard/tests/file/stream_001.phpt b/ext/standard/tests/file/stream_001.phpt new file mode 100644 index 0000000000..8a3f03409b --- /dev/null +++ b/ext/standard/tests/file/stream_001.phpt @@ -0,0 +1,24 @@ +--TEST-- +stream_wrapper_unregister() & stream_wrapper_restore() +--FILE-- + +--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 diff --git a/main/streams/streams.c b/main/streams/streams.c index 70f4c46daf..55b0485ea3 100755 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -1528,7 +1528,6 @@ PHPAPI php_stream_wrapper *php_stream_locate_url_wrapper(const char *path, char 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; }