]> granicus.if.org Git - php/commitdiff
- Fixed detection of invalid class name
authorFelipe Pena <felipe@php.net>
Thu, 8 May 2008 16:58:43 +0000 (16:58 +0000)
committerFelipe Pena <felipe@php.net>
Thu, 8 May 2008 16:58:43 +0000 (16:58 +0000)
Zend/tests/bug31720.phpt
Zend/zend_API.c
ext/standard/tests/array/array_filter_variation2.phpt
ext/standard/tests/array/array_map_variation17.phpt
ext/standard/tests/array/array_walk_recursive_variation2.phpt
ext/standard/tests/array/array_walk_variation2.phpt
ext/standard/tests/array/uasort_variation2.phpt

index 5b2644b58ed79b31f27bdf01028fa7ca6af5cdb6..c4680a4789e11c5d71f2e1d0016f01d1b9634e9e 100644 (file)
@@ -10,5 +10,5 @@ array_walk($array, array($nonesuchvar,'show'));
 --EXPECTF--
 Notice: Undefined variable: nonesuchvar in %s on line %d
 
-Warning: array_walk() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_walk() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 ===DONE===
index efedc85f5d9e1f97ec20fce3dc90461fa544e207..8b6e961d13ec2518c55d706722b75488b0659bd7 100644 (file)
@@ -3035,7 +3035,7 @@ ZEND_API zend_bool zend_is_callable_ex(zval *callable, uint check_flags, zval *c
                                        }
                                } else {
                                        if (zend_hash_num_elements(Z_ARRVAL_P(callable)) == 2) {
-                                               if (!obj) {
+                                               if (!obj || (Z_TYPE_PP(obj) != IS_OBJECT && Z_TYPE_PP(obj) != IS_STRING && Z_TYPE_PP(obj) != IS_UNICODE)) {
                                                        if (error) zend_spprintf(error, 0, "first array member is not a valid class name or object");
                                                } else {
                                                        if (error) zend_spprintf(error, 0, "second array member is not a valid method");
index 50041ed58429fd949fa4a9cfac663ec6fe12809e..bf92132dd4fd1aa8ecdd359ed33584d23de4bbbb 100644 (file)
@@ -134,7 +134,7 @@ NULL
 Warning: array_filter() expects parameter 2 to be a valid callback, array must have exactly two members in %s on line %d
 NULL
 -- Iteration 13 --
-Warning: array_filter() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_filter() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 -- Iteration 14 --
 Warning: array_filter() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
@@ -221,7 +221,7 @@ NULL
 Warning: array_filter() expects parameter 2 to be a valid callback, array must have exactly two members in %s on line %d
 NULL
 -- Iteration 13 --
-Warning: array_filter() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_filter() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 -- Iteration 14 --
 Warning: array_filter() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
index 305c1e95631a461c7b184ccc993b2855bf15ada8..526f8b915effab59117107782dc42ccc99475922 100644 (file)
@@ -141,11 +141,11 @@ Warning: array_map() expects parameter 1 to be a valid callback, array must have
 NULL
 
 -- Iteration 17 --
-Warning: array_map() expects parameter 1 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_map() expects parameter 1 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 
 -- Iteration 18 --
-Warning: array_map() expects parameter 1 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_map() expects parameter 1 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 
 -- Iteration 19 --
@@ -224,11 +224,11 @@ Warning: array_map() expects parameter 1 to be a valid callback, array must have
 NULL
 
 -- Iteration 17 --
-Warning: array_map() expects parameter 1 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_map() expects parameter 1 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 
 -- Iteration 18 --
-Warning: array_map() expects parameter 1 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_map() expects parameter 1 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 
 -- Iteration 19 --
index f82e7a687bc500af6c542a895faed5450d13ec77..6981365d26aef6fde3aa313ca9b8e81bb9797bbb 100644 (file)
@@ -179,10 +179,10 @@ Warning: array_walk_recursive() expects parameter 2 to be a valid callback, arra
 NULL
 -- Iteration 13 --
 
-Warning: array_walk_recursive() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_walk_recursive() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 
-Warning: array_walk_recursive() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_walk_recursive() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 -- Iteration 14 --
 
@@ -357,10 +357,10 @@ Warning: array_walk_recursive() expects parameter 2 to be a valid callback, arra
 NULL
 -- Iteration 13 --
 
-Warning: array_walk_recursive() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_walk_recursive() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 
-Warning: array_walk_recursive() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_walk_recursive() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 -- Iteration 14 --
 
index 633aa768f0d3a3b81c8c7cdad449fdea03e8dc4b..a3c70653f6e4750dc10f9acb5547eb30d8e0c0f0 100644 (file)
@@ -179,10 +179,10 @@ Warning: array_walk() expects parameter 2 to be a valid callback, array must hav
 NULL
 -- Iteration 13 --
 
-Warning: array_walk() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_walk() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 
-Warning: array_walk() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_walk() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 -- Iteration 14 --
 
@@ -357,10 +357,10 @@ Warning: array_walk() expects parameter 2 to be a valid callback, array must hav
 NULL
 -- Iteration 13 --
 
-Warning: array_walk() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_walk() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 
-Warning: array_walk() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: array_walk() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 -- Iteration 14 --
 
index 79f9d9fd87f17de82a610ac0f47f2bc332416dcb..97cf8144d82ff006b7d79568e082af885b7adecc 100644 (file)
@@ -148,11 +148,11 @@ Warning: uasort() expects parameter 2 to be a valid callback, array must have ex
 NULL
 -- Iteration 13 --
 
-Warning: uasort() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: uasort() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 -- Iteration 14 --
 
-Warning: uasort() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: uasort() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 -- Iteration 15 --
 
@@ -263,11 +263,11 @@ Warning: uasort() expects parameter 2 to be a valid callback, array must have ex
 NULL
 -- Iteration 13 --
 
-Warning: uasort() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: uasort() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 -- Iteration 14 --
 
-Warning: uasort() expects parameter 2 to be a valid callback, second array member is not a valid method in %s on line %d
+Warning: uasort() expects parameter 2 to be a valid callback, first array member is not a valid class name or object in %s on line %d
 NULL
 -- Iteration 15 --