]> granicus.if.org Git - php/commitdiff
* check that error callbacks exist
authorStig Bakken <ssb@php.net>
Thu, 19 Apr 2001 02:33:24 +0000 (02:33 +0000)
committerStig Bakken <ssb@php.net>
Thu, 19 Apr 2001 02:33:24 +0000 (02:33 +0000)
pear/PEAR.php.in

index 3c91b576d964280f2075a76db7ace545db51cf43..b2556bc329c121cc03784902bf89acad6da66ca4 100644 (file)
@@ -212,9 +212,9 @@ class PEAR
 
             case PEAR_ERROR_CALLBACK:
                 $setmode = $mode;
-                if (is_string($options) ||
-                    (is_array($options) && sizeof($options) == 2 &&
-                     is_object($options[0]) && is_string($options[1]))) {
+                if ((is_string($options) && function_exists($options)) ||
+                    (is_array($options) && method_exists(@$options[0], @$options[1])))
+                {
                     $setcallback = $options;
                 } else {
                     trigger_error("invalid error callback", E_USER_WARNING);