From aea970fbc294dafad07d7c17b4f5f988dd3ecf18 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Sun, 16 Nov 2008 18:01:25 +0000 Subject: [PATCH] MFB: Fixed memory leak inside readline_callback_handler_install() function --- NEWS | 2 ++ ext/readline/readline.c | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) 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); -- 2.50.1