cvs: php-src /ext/standard array.c
| From: | Andrei Zmievski | Date: | Fri, 21 Jul 2006 23:47:40 +0000 |
| Subject: | cvs: php-src /ext/standard array.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-39435@lists.php.net to get a copy of this message | ||
andrei Fri Jul 21 23:47:40 2006 UTC
Modified files:
/php-src/ext/standard array.c
Log:
Apply Matt W's patch (with a fix) for array_combine() binary key safety.
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.374&r2=1.375&diff_format=u
Index: php-src/ext/standard/array.c
diff -u php-src/ext/standard/array.c:1.374 php-src/ext/standard/array.c:1.375
--- php-src/ext/standard/array.c:1.374 Fri Jul 21 23:29:25 2006
+++ php-src/ext/standard/array.c Fri Jul 21 23:47:40 2006
@@ -21,7 +21,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: array.c,v 1.374 2006/07/21 23:29:25 andrei Exp $ */
+/* $Id: array.c,v 1.375 2006/07/21 23:47:40 andrei Exp $ */
#include "php.h"
#include "php_ini.h"
@@ -4459,7 +4459,7 @@
/* }}} */
/* {{{ proto array array_combine(array keys, array values) U
- Creates an array by using the elements of the first parameter as keys and the elements of the
second as the correspoding values */
+ Creates an array by using the elements of the first parameter as keys and the elements of the
second as the corresponding values */
PHP_FUNCTION(array_combine)
{
zval *values, *keys;
@@ -4475,7 +4475,7 @@
num_values = zend_hash_num_elements(Z_ARRVAL_P(values));
if (num_keys != num_values) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "Both parameters should have equal number of
elements");
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Both parameters should have an equal number of
elements");
RETURN_FALSE;
}
@@ -4507,7 +4507,7 @@
}
zval_add_ref(entry_values);
- add_u_assoc_zval(return_value, Z_TYPE_P(key_ptr), Z_UNIVAL_P(key_ptr), *entry_values);
+ add_u_assoc_zval_ex(return_value, Z_TYPE_P(key_ptr), Z_UNIVAL_P(key_ptr), Z_UNILEN_P(key_ptr)+1,
*entry_values);
if (key_ptr != *entry_keys) {
zval_dtor(&key);