diff options
author | Moriyoshi Koizumi <moriyoshi@php.net> | 2003-01-03 05:05:12 +0000 |
---|---|---|
committer | Moriyoshi Koizumi <moriyoshi@php.net> | 2003-01-03 05:05:12 +0000 |
commit | f962ba6abb7e8674db6a936f196ea4491eaef17c (patch) | |
tree | fe289dcf5aad6176a5e8a6884924b37cb7e90f34 | |
parent | 449029d2df9b3ebcff760c8c980a0c34a4457eeb (diff) | |
download | php-git-f962ba6abb7e8674db6a936f196ea4491eaef17c.tar.gz |
Fixed small leaks in array_map() in case the first parameter is NULL like
array_map(NULL, array(...));
-rw-r--r-- | ext/standard/array.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c index a3816895a5..774c820eda 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -3418,6 +3418,8 @@ PHP_FUNCTION(array_map) WRONG_PARAM_COUNT; } + RETVAL_NULL(); + callback = *args[0]; if (Z_TYPE_P(callback) != IS_NULL) { if (!zend_is_callable(callback, 0, &callback_name)) { @@ -3438,6 +3440,7 @@ PHP_FUNCTION(array_map) if (Z_TYPE_PP(args[i+1]) != IS_ARRAY) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d should be an array", i + 2); efree(array_len); + efree(array_pos); efree(args); return; } |