From a8368ddc38a1940e705914699478dd1f83e745ee Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Thu, 10 Sep 2015 19:53:37 +0800 Subject: [PATCH] Fixed bug #70431 (Memory leak in php_ini.c) --- NEWS | 3 +++ main/php_ini.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index d55833c96b68e..f89bb1a82723e 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 17 Sep 2015, PHP 7.0.0 RC 3 +- Core: + . Fixed bug #70431 (Memory leak in php_ini.c). (Sixed, Laruence) + - CLI server: . Fixed bug #68291 (404 on urls with '+'). (cmb) diff --git a/main/php_ini.c b/main/php_ini.c index ac79e60879522..67434d6365902 100644 --- a/main/php_ini.c +++ b/main/php_ini.c @@ -553,7 +553,6 @@ int php_init_config(void) fh.handle.fp = VCWD_FOPEN(php_ini_file_name, "r"); if (fh.handle.fp) { fh.filename = expand_filepath(php_ini_file_name, NULL); - opened_path = zend_string_init(fh.filename, strlen(fh.filename), 0); } } } @@ -599,6 +598,8 @@ int php_init_config(void) zend_hash_str_update(&configuration_hash, "cfg_file_path", sizeof("cfg_file_path")-1, &tmp); if (opened_path) { zend_string_release(opened_path); + } else { + efree((char *)fh.filename); } php_ini_opened_path = zend_strndup(Z_STRVAL(tmp), Z_STRLEN(tmp)); }