1
0
mirror of https://github.com/php/php-src.git synced 2026-04-11 18:13:00 +02:00

Fix foreach() called with non array

This commit is contained in:
Marcus Boerger
2003-09-07 23:09:30 +00:00
parent 366a4b7f94
commit cdc5d69ec2

View File

@@ -3549,21 +3549,21 @@ int zend_fe_reset_handler(ZEND_OPCODE_HANDLER_ARGS)
}
}
PZVAL_LOCK(array_ptr);
EX_T(EX(opline)->result.u.var).var.ptr = array_ptr;
EX_T(EX(opline)->result.u.var).var.ptr_ptr = &EX_T(EX(opline)->result.u.var).var.ptr;
if ((fe_ht = HASH_OF(array_ptr)) != NULL) {
/* probably redundant */
zend_hash_internal_pointer_reset(fe_ht);
} else {
zend_error(E_WARNING, "Invalid argument supplied for foreach()");
EX(opline) = op_array->opcodes+EX(opline)->op1.u.opline_num;
EX(opline)++;
EX(opline) = op_array->opcodes+EX(opline)->op2.u.opline_num;
return 0;
}
PZVAL_LOCK(array_ptr);
EX_T(EX(opline)->result.u.var).var.ptr = array_ptr;
EX_T(EX(opline)->result.u.var).var.ptr_ptr = &EX_T(EX(opline)->result.u.var).var.ptr;
NEXT_OPCODE();
}