From 0972a2163643757e7e270b8e1c466800aedf1308 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Fri, 14 Jul 2017 11:22:36 +0300 Subject: [PATCH] objects may be nested in array operands --- ext/opcache/Optimizer/zend_inference.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/opcache/Optimizer/zend_inference.c b/ext/opcache/Optimizer/zend_inference.c index 5cf8867da5e..8cfbb844de9 100644 --- a/ext/opcache/Optimizer/zend_inference.c +++ b/ext/opcache/Optimizer/zend_inference.c @@ -4100,7 +4100,7 @@ int zend_may_throw(const zend_op *opline, zend_op_array *op_array, zend_ssa *ssa || (t2 & MAY_BE_ANY) == MAY_BE_NULL) { return 0; } - return (t1 & MAY_BE_OBJECT) || (t2 & MAY_BE_OBJECT); + return (t1 & (MAY_BE_OBJECT|MAY_BE_ARRAY_OF_ARRAY|MAY_BE_ARRAY_OF_OBJECT)) || (t2 & (MAY_BE_OBJECT|MAY_BE_ARRAY_OF_ARRAY|MAY_BE_ARRAY_OF_OBJECT)); case ZEND_ASSIGN_ADD: if (opline->extended_value != 0) { return 1;