]> granicus.if.org Git - php/commitdiff
Fixed memory leak inside readline_callback_handler_install() function
authorIlia Alshanetsky <iliaa@php.net>
Sun, 16 Nov 2008 18:00:50 +0000 (18:00 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Sun, 16 Nov 2008 18:00:50 +0000 (18:00 +0000)
ext/readline/readline.c

index f1e94cb66233adda05d217882ddbb1d08c19bbe4..7f08e8a98115885ed9dc7bc347620502f2050a06 100644 (file)
@@ -187,7 +187,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
@@ -556,10 +556,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);