From: Antony Dovgal Date: Fri, 15 Sep 2006 07:26:19 +0000 (+0000) Subject: fix double free(), add test X-Git-Tag: RELEASE_1_0_0RC1~1669 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e264e460a482b89fc12839c79957b7b8ae0dcdc4;p=php 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 e0530cacd1..5b2266d115 100755 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -1990,7 +1990,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; }