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);

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to