From 239fa7f79f1f72048b98923097a40f57c75a7c45 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Sun, 20 Apr 2008 15:07:39 +0000 Subject: [PATCH] Fixed a bug #44403 (register_tick_function() does not check for a valid callback) --- ext/standard/basic_functions.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 91cd635841..cd8ca4ab8c 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -6045,6 +6045,7 @@ PHP_FUNCTION(register_tick_function) { user_tick_function_entry tick_fe; int i; + char *function_name = NULL; tick_fe.calling = 0; tick_fe.arg_count = ZEND_NUM_ARGS(); @@ -6060,6 +6061,13 @@ PHP_FUNCTION(register_tick_function) RETURN_FALSE; } + if (!zend_is_callable(tick_fe.arguments[0], 0, &function_name)) { + efree(tick_fe.arguments); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid shutdown callback '%s' passed", function_name); + efree(function_name); + RETURN_FALSE; + } + if (Z_TYPE_P(tick_fe.arguments[0]) != IS_ARRAY) { convert_to_string_ex(&tick_fe.arguments[0]); } -- 2.40.0