diff options
author | Anatol Belski <ab@php.net> | 2014-09-12 22:31:02 +0200 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2014-09-12 22:31:02 +0200 |
commit | e251ecb6e96ae3a53ad6187346a07b2e3b0b1a90 (patch) | |
tree | 187a62dde72b147b8dd0c32470c4722ca43b9a11 | |
parent | 7ac5a36a2f37b167d0114e6e2720086ba5c6c567 (diff) | |
download | php-git-e251ecb6e96ae3a53ad6187346a07b2e3b0b1a90.tar.gz |
fix possible null ptr deref
-rw-r--r-- | ext/standard/basic_functions.c | 6 |
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 { |