From: Ilia Alshanetsky Date: Sun, 16 Nov 2008 18:01:25 +0000 (+0000) Subject: MFB: Fixed memory leak inside readline_callback_handler_install() function X-Git-Tag: php-5.2.7RC4~20 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=aea970fbc294dafad07d7c17b4f5f988dd3ecf18;p=php MFB: Fixed memory leak inside readline_callback_handler_install() function --- diff --git a/NEWS b/NEWS index af87b0f5b4..da98849130 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,8 @@ PHP NEWS - Fixed sybase_fetch_*() to continue reading after CS_ROW_FAIL status (Timm) - Fixed a bug inside dba_replace() that could cause file truncation with invalid keys. (Ilia) +- Fixed memory leak inside readline_callback_handler_install() function. + (Ilia) - Fixed bug #46543 (ibase_trans() memory leaks when using wrong parameters). (Felipe) diff --git a/ext/readline/readline.c b/ext/readline/readline.c index 6bd992726c..9060a62464 100644 --- a/ext/readline/readline.c +++ b/ext/readline/readline.c @@ -120,7 +120,7 @@ PHP_RSHUTDOWN_FUNCTION(readline) #if HAVE_RL_CALLBACK_READ_CHAR if (_prepped_callback) { rl_callback_handler_remove(); - FREE_ZVAL(_prepped_callback); + zval_ptr_dtor(&_prepped_callback); _prepped_callback = 0; } #endif @@ -507,10 +507,11 @@ PHP_FUNCTION(readline_callback_handler_install) efree(name); RETURN_FALSE; } + efree(name); if (_prepped_callback) { rl_callback_handler_remove(); - FREE_ZVAL(_prepped_callback); + zval_ptr_dtor(&_prepped_callback); } MAKE_STD_ZVAL(_prepped_callback);