]> granicus.if.org Git - php/commitdiff
- Fixed bug #43196 (array_intersect_assoc() crashes with non-array input)
authorJani Taskinen <jani@php.net>
Tue, 6 Nov 2007 13:26:24 +0000 (13:26 +0000)
committerJani Taskinen <jani@php.net>
Tue, 6 Nov 2007 13:26:24 +0000 (13:26 +0000)
# Note: Same problem was with array_diff_assoc()

ext/standard/array.c
ext/standard/tests/array/array_intersect_assoc_error.phpt
ext/standard/tests/array/array_intersect_assoc_variation1.phpt
ext/standard/tests/array/array_intersect_assoc_variation2.phpt

index 641b0d0fa53db9b7bce53473cb914ff3c4bd70a8..f1636d8bba21bdd703f36a16f008a255ce20668b 100644 (file)
@@ -2987,13 +2987,24 @@ static void php_array_intersect_key(INTERNAL_FUNCTION_PARAMETERS, int data_compa
                }
        }
 
+       if (Z_TYPE_PP(args[0]) != IS_ARRAY) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #1 is not an array");
+               RETVAL_NULL();
+               goto out;
+       }
+
        array_init(return_value);
 
        for (p = Z_ARRVAL_PP(args[0])->pListHead; p != NULL; p = p->pListNext) {
                if (p->nKeyLength == 0) {
                        ok = 1;
                        for (i = 1; i < argc; i++) {
-                               if (zend_hash_index_find(Z_ARRVAL_PP(args[i]), p->h, (void**)&data) == FAILURE ||
+                               if (Z_TYPE_PP(args[i]) != IS_ARRAY) {
+                                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1);
+                                       zval_dtor(return_value);
+                                       RETVAL_NULL();
+                                       goto out;
+                               } else if (zend_hash_index_find(Z_ARRVAL_PP(args[i]), p->h, (void**)&data) == FAILURE ||
                                        (intersect_data_compare_func &&
                                        intersect_data_compare_func((zval**)p->pData, data TSRMLS_CC) != 0)
                                ) {
@@ -3008,7 +3019,12 @@ static void php_array_intersect_key(INTERNAL_FUNCTION_PARAMETERS, int data_compa
                } else {
                        ok = 1;
                        for (i = 1; i < argc; i++) {
-                               if (zend_u_hash_quick_find(Z_ARRVAL_PP(args[i]), p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, p->h, (void**)&data) == FAILURE ||
+                               if (Z_TYPE_PP(args[i]) != IS_ARRAY) {
+                                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1);
+                                       zval_dtor(return_value);
+                                       RETVAL_NULL();
+                                       goto out;
+                               } else if (zend_u_hash_quick_find(Z_ARRVAL_PP(args[i]), p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, p->h, (void**)&data) == FAILURE ||
                                        (intersect_data_compare_func &&
                                        intersect_data_compare_func((zval**)p->pData, data TSRMLS_CC) != 0)
                                ) {
@@ -3022,6 +3038,7 @@ static void php_array_intersect_key(INTERNAL_FUNCTION_PARAMETERS, int data_compa
                        }
                }
        }
+out:
        efree(args);
 }
 /* }}} */
@@ -3388,13 +3405,24 @@ static void php_array_diff_key(INTERNAL_FUNCTION_PARAMETERS, int data_compare_ty
                }
        }
 
+       if (Z_TYPE_PP(args[0]) != IS_ARRAY) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #1 is not an array");
+               RETVAL_NULL();
+               goto out;
+       }
+
        array_init(return_value);
 
        for (p = Z_ARRVAL_PP(args[0])->pListHead; p != NULL; p = p->pListNext) {
                if (p->nKeyLength == 0) {
                        ok = 1;
                        for (i = 1; i < argc; i++) {
-                               if (zend_hash_index_find(Z_ARRVAL_PP(args[i]), p->h, (void**)&data) == SUCCESS &&
+                               if (Z_TYPE_PP(args[i]) != IS_ARRAY) {
+                                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1);
+                                       zval_dtor(return_value);
+                                       RETVAL_NULL();
+                                       goto out;
+                               } else if (zend_hash_index_find(Z_ARRVAL_PP(args[i]), p->h, (void**)&data) == SUCCESS &&
                                        (!diff_data_compare_func ||
                                        diff_data_compare_func((zval**)p->pData, data TSRMLS_CC) == 0)
                                ) {
@@ -3409,7 +3437,12 @@ static void php_array_diff_key(INTERNAL_FUNCTION_PARAMETERS, int data_compare_ty
                } else {
                        ok = 1;
                        for (i = 1; i < argc; i++) {
-                               if (zend_u_hash_quick_find(Z_ARRVAL_PP(args[i]), p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, p->h, (void**)&data) == SUCCESS &&
+                               if (Z_TYPE_PP(args[i]) != IS_ARRAY) {
+                                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument #%d is not an array", i + 1);
+                                       zval_dtor(return_value);
+                                       RETVAL_NULL();
+                                       goto out;
+                               } else if (zend_u_hash_quick_find(Z_ARRVAL_PP(args[i]), p->key.type, ZSTR(p->key.arKey.s), p->nKeyLength, p->h, (void**)&data) == SUCCESS &&
                                        (!diff_data_compare_func ||
                                        diff_data_compare_func((zval**)p->pData, data TSRMLS_CC) == 0)
                                ) {
@@ -3423,6 +3456,7 @@ static void php_array_diff_key(INTERNAL_FUNCTION_PARAMETERS, int data_compare_ty
                        }
                }
        }
+out:
        efree(args);
 }
 /* }}} */
index df9285060db1383b576eddae6f19f9f4ff401a57..a3a92978f4f5fd45d61f7a27e4062276876010a2 100644 (file)
@@ -1,5 +1,5 @@
 --TEST--
-Test array_intersect_assoc() function : error conditions(Bug#43197)
+Test array_intersect_assoc() function : error conditions
 --FILE--
 <?php
 /* Prototype  : array array_intersect_assoc(array $arr1, array $arr2 [, array $...])
index abbec4fc472d4bb9c2d131b83abd20663874e260..4a989252dd3e32465f74479431f46d5e0f4374d5 100644 (file)
@@ -1,5 +1,5 @@
 --TEST--
-Test array_intersect_assoc() function : usage variations - unexpected values for 'arr1' argument(Bug#43196)
+Test array_intersect_assoc() function : usage variations - unexpected values for 'arr1' argument
 --FILE--
 <?php
 /* Prototype  : array array_intersect_assoc(array $arr1, array $arr2 [, array $...])
@@ -109,344 +109,173 @@ fclose($fp);
 echo "Done";
 ?>
 --EXPECTF--
-*** Testing array_intersect() : Passing non-array values to $arr1 argument ***
+*** Testing array_intersect_assoc() : Passing non-array values to $arr1 argument ***
 
--- Iterator 1 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 1 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 2 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 2 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 3 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 3 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 4 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 4 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 5 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 5 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 6 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 6 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 7 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 7 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 8 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 8 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 9 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 9 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 10 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 10 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 11 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 11 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 12 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 12 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 13 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 13 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 14 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 14 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 15 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 15 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 16 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 16 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 17 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 17 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 18 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 18 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 19 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 19 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 20 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 20 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 21 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 21 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 22 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 22 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 23 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 23 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
--- Iterator 24 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 24 --
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-Done
---UEXPECTF--
-*** Testing array_intersect() : Passing non-array values to $arr1 argument ***
-
--- Iterator 1 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 2 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 3 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 4 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 5 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 6 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 7 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 8 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 9 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 10 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 11 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 12 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 13 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 14 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 15 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 16 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 17 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 18 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 19 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 20 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 21 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 22 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 23 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 24 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #1 is not an array in %s on line %d
 NULL
 Done
index 567cf880ed42c2d63a893e3e606d8f4c94a83066..8993cc412c6b892d52f08e0a5135249e736657cc 100644 (file)
@@ -1,5 +1,5 @@
 --TEST--
-Test array_intersect_assoc() function : usage variations - unexpected values for 'arr2' argument(Bug#43196)
+Test array_intersect_assoc() function : usage variations - unexpected values for 'arr2' argument
 --FILE--
 <?php
 /* Prototype  : array array_intersect_assoc(array $arr1, array $arr2 [, array $...])
@@ -110,344 +110,173 @@ fclose($fp);
 echo "Done";
 ?>
 --EXPECTF--
-*** Testing array_intersect() : Passing non-array values to $arr1 argument ***
+*** Testing array_intersect_assoc() : Passing non-array values to $arr2 argument ***
 
--- Iterator 1 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 1 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 2 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 2 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 3 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 3 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 4 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 4 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 5 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 5 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 6 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 6 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 7 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 7 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 8 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 8 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 9 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 9 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 10 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 10 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 11 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 11 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 12 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 12 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 13 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 13 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 14 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 14 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 15 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 15 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 16 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 16 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 17 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 17 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 18 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 18 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 19 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 19 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 20 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 20 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 21 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 21 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 22 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 22 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 23 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 23 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
--- Iterator 24 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+-- Iteration 24 --
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-Done
---UEXPECTF--
-*** Testing array_intersect() : Passing non-array values to $arr1 argument ***
-
--- Iterator 1 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 2 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 3 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 4 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 5 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 6 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 7 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 8 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 9 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 10 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 11 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 12 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 13 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 14 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 15 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 16 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 17 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 18 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 19 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 20 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 21 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 22 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 23 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
--- Iterator 24 --
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
-NULL
-
-Warning: array_intersect(): Argument #1 is not an array in %s on line %d
+Warning: array_intersect_assoc(): Argument #2 is not an array in %s on line %d
 NULL
 Done