From: Ilia Alshanetsky Date: Tue, 13 Feb 2007 23:39:14 +0000 (+0000) Subject: Fixed a memory leak on highlight_file() with a non-existant file X-Git-Tag: php-5.2.2RC1~405 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a92ef5e0dc792f96ac2a1659fdd7f695d2884f04;p=php Fixed a memory leak on highlight_file() with a non-existant file --- diff --git a/main/streams/plain_wrapper.c b/main/streams/plain_wrapper.c index ab7d67ceb0..430f789732 100644 --- a/main/streams/plain_wrapper.c +++ b/main/streams/plain_wrapper.c @@ -889,12 +889,12 @@ PHPAPI php_stream *_php_stream_fopen(const char *filename, const char *mode, cha *opened_path = realpath; realpath = NULL; } - if (realpath) { - efree(realpath); - } /* fall through */ case PHP_STREAM_PERSISTENT_FAILURE: + if (realpath) { + efree(realpath); + } efree(persistent_id);; return ret; } @@ -933,6 +933,10 @@ PHPAPI php_stream *_php_stream_fopen(const char *filename, const char *mode, cha r = do_fstat(self, 0); if ((r == 0 && !S_ISREG(self->sb.st_mode))) { + if (opened_path) { + efree(*opened_path); + *opened_path = NULL; + } php_stream_close(ret); return NULL; }