From: Xinchen Hui Date: Sat, 29 Mar 2014 12:17:59 +0000 (+0800) Subject: Fixed retval for ps_call_handler X-Git-Tag: POST_PHPNG_MERGE~412^2~205 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fa2e7ba0cb5230e7fb02da0e0b1726e468f270ce;p=php Fixed retval for ps_call_handler --- diff --git a/ext/session/mod_user.c b/ext/session/mod_user.c index 4e42a1ba14..2b4e79996f 100644 --- a/ext/session/mod_user.c +++ b/ext/session/mod_user.c @@ -50,7 +50,12 @@ ps_module ps_mod_user = { static void ps_call_handler(zval *func, int argc, zval *argv, zval *retval TSRMLS_DC) { int i; - call_user_function(EG(function_table), NULL, func, retval, argc, argv TSRMLS_CC); + if (call_user_function(EG(function_table), NULL, func, retval, argc, argv TSRMLS_CC) == FAILURE) { + zval_ptr_dtor(retval); + ZVAL_UNDEF(retval); + } else if (ZVAL_IS_UNDEF(retval)) { + ZVAL_NULL(retval); + } for (i = 0; i < argc; i++) { zval_ptr_dtor(&argv[i]); }