]> granicus.if.org Git - php/commitdiff
Handle failure in get_current_data
authorMarcus Boerger <helly@php.net>
Thu, 15 Apr 2004 21:32:34 +0000 (21:32 +0000)
committerMarcus Boerger <helly@php.net>
Thu, 15 Apr 2004 21:32:34 +0000 (21:32 +0000)
Zend/zend_execute.c

index 57cd4e8f1895adf0d183aed20ef3aaa0386904c2..147bf668b74ae2f371c1c4529964e9426b101186 100644 (file)
@@ -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 {