cvs: php4 /ext/standard array.c

From: Date: Sat, 04 Aug 2001 16:54:21 +0000
Subject: cvs: php4 /ext/standard array.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-6546@lists.php.net to get a copy of this message
andrei Sat Aug 4 12:54:21 2001 EDT Modified files: /php4/ext/standard array.c Log: @- Fixed a crash bug in array_map() when NULL callback was passed in. (Andrei) Index: php4/ext/standard/array.c diff -u php4/ext/standard/array.c:1.119 php4/ext/standard/array.c:1.120 --- php4/ext/standard/array.c:1.119 Fri Aug 3 15:18:51 2001 +++ php4/ext/standard/array.c Sat Aug 4 12:54:20 2001 @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: array.c,v 1.119 2001/08/03 19:18:51 jeroen Exp $ */ +/* $Id: array.c,v 1.120 2001/08/04 16:54:20 andrei Exp $ */ #include "php.h" #include "php_ini.h" @@ -3010,14 +3010,15 @@ } callback = *args[0]; - if (Z_TYPE_P(callback) != IS_NULL && !zend_is_callable(callback, 0, &callback_name)) { - php_error(E_WARNING, "%s() expects argument 1, '%s', to be either NULL or a valid callback", - get_active_function_name(TSRMLS_C), callback_name); + if (Z_TYPE_P(callback) != IS_NULL) { + if (!zend_is_callable(callback, 0, &callback_name)) { + php_error(E_WARNING, "%s() expects argument 1, '%s', to be either NULL or a valid callback", get_active_function_name(TSRMLS_C), callback_name); + efree(callback_name); + efree(args); + return; + } efree(callback_name); - efree(args); - return; } - efree(callback_name); /* Cache array sizes. */ array_len = (int*)emalloc((ZEND_NUM_ARGS()-1) * sizeof(int));

« previous php.cvs (#6546) next »