summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2014-09-12 22:31:02 +0200
committerAnatol Belski <ab@php.net>2014-09-12 22:31:02 +0200
commite251ecb6e96ae3a53ad6187346a07b2e3b0b1a90 (patch)
tree187a62dde72b147b8dd0c32470c4722ca43b9a11
parent7ac5a36a2f37b167d0114e6e2720086ba5c6c567 (diff)
downloadphp-git-e251ecb6e96ae3a53ad6187346a07b2e3b0b1a90.tar.gz
fix possible null ptr deref
-rw-r--r--ext/standard/basic_functions.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index f37ae5614e..de4d71106b 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -5011,7 +5011,11 @@ PHP_FUNCTION(register_shutdown_function)
/* Prevent entering of anything but valid callback (syntax check only!) */
if (!zend_is_callable(&shutdown_function_entry.arguments[0], 0, &callback_name TSRMLS_CC)) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid shutdown callback '%s' passed", callback_name->val);
+ if (callback_name) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid shutdown callback '%s' passed", callback_name->val);
+ } else {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid shutdown callback passed");
+ }
efree(shutdown_function_entry.arguments);
RETVAL_FALSE;
} else {