From a92ef5e0dc792f96ac2a1659fdd7f695d2884f04 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Tue, 13 Feb 2007 23:39:14 +0000 Subject: [PATCH] Fixed a memory leak on highlight_file() with a non-existant file --- main/streams/plain_wrapper.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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; } -- 2.40.0