summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2004-04-25 11:25:25 +0000
committerMarcus Boerger <helly@php.net>2004-04-25 11:25:25 +0000
commitc5abb9b24c49b096cb307f6ffba595dfed45f312 (patch)
tree4b0ec92ab14ae3094bc488e1a924ef90b46cddd8
parent286f75c891dcb642cbd36f2a22e01b606fd1fc29 (diff)
downloadphp-git-c5abb9b24c49b096cb307f6ffba595dfed45f312.tar.gz
Capture potential problem by error message
-rwxr-xr-xZend/zend_interfaces.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c
index c20cfea2cf..2d755191fa 100755
--- a/Zend/zend_interfaces.c
+++ b/Zend/zend_interfaces.c
@@ -186,6 +186,13 @@ static int zend_user_it_get_current_key(zend_object_iterator *_iter, char **str_
zend_call_method_with_0_params(&object, iter->ce, &iter->ce->iterator_funcs.zf_key, "key", &retval);
+ if (!retval) {
+ *str_key = "";
+ *str_key_len = 0;
+ *int_key = 0;
+ zend_error(E_WARNING, "Nothing returned from %s::key()", iter->ce->name);
+ return HASH_KEY_IS_LONG;
+ }
switch (retval->type) {
default:
zend_error(E_WARNING, "Illegal type returned from %s::key()", iter->ce->name);