summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2004-04-15 21:32:34 +0000
committerMarcus Boerger <helly@php.net>2004-04-15 21:32:34 +0000
commita455d7846d5f3b2afd45b415060655d5e236ccc9 (patch)
tree8d739f393192276408968537174e5917b48720a3
parent14edc95ff8a02658b87e240cfa5b6d59c93c1a3b (diff)
downloadphp-git-a455d7846d5f3b2afd45b415060655d5e236ccc9.tar.gz
Handle failure in get_current_data
-rw-r--r--Zend/zend_execute.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 57cd4e8f18..147bf668b7 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -3825,6 +3825,11 @@ int zend_fe_fetch_handler(ZEND_OPCODE_HANDLER_ARGS)
return 0; /* CHECK_ME */
}
iter->funcs->get_current_data(iter, &value TSRMLS_CC);
+ if (!value) {
+ /* failure in get_current_data */
+ SET_OPCODE(op_array->opcodes+opline->op2.u.opline_num);
+ return 0; /* CHECK_ME */
+ }
if (iter->funcs->get_current_key) {
key_type = iter->funcs->get_current_key(iter, &str_key, &str_key_len, &int_key TSRMLS_CC);
} else {