summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStig Bakken <ssb@php.net>2001-04-19 02:33:24 +0000
committerStig Bakken <ssb@php.net>2001-04-19 02:33:24 +0000
commit4f84d76ed7fbd164a6b2246fc6082b75ec069eae (patch)
treea7280c236f1157b0557247a5c9ec03444c3c74b8
parentad8dbb8d10839749a9a96bd33989e388cae80069 (diff)
downloadphp-git-4f84d76ed7fbd164a6b2246fc6082b75ec069eae.tar.gz
* check that error callbacks exist
-rw-r--r--pear/PEAR.php.in6
1 files changed, 3 insertions, 3 deletions
diff --git a/pear/PEAR.php.in b/pear/PEAR.php.in
index 3c91b576d9..b2556bc329 100644
--- a/pear/PEAR.php.in
+++ b/pear/PEAR.php.in
@@ -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);