@@ -4423,26 +4423,26 @@ int zend_may_throw(const zend_op *opline, const zend_ssa_op *ssa_op, const zend_
4423
4423
&& (t2 & MAY_BE_ANY ) == MAY_BE_ARRAY ) {
4424
4424
return 0 ;
4425
4425
}
4426
- return (t1 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT )) ||
4427
- (t2 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT ));
4426
+ return (t1 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT | MAY_BE_RESOURCE )) ||
4427
+ (t2 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT | MAY_BE_RESOURCE ));
4428
4428
} else if (opline -> extended_value == ZEND_DIV ||
4429
4429
opline -> extended_value == ZEND_MOD ) {
4430
4430
if (!OP2_HAS_RANGE () ||
4431
4431
(OP2_MIN_RANGE () <= 0 && OP2_MAX_RANGE () >= 0 )) {
4432
4432
/* Division by zero */
4433
4433
return 1 ;
4434
4434
}
4435
- return (t1 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT )) ||
4436
- (t2 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT ));
4435
+ return (t1 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT | MAY_BE_RESOURCE )) ||
4436
+ (t2 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT | MAY_BE_RESOURCE ));
4437
4437
} else if (opline -> extended_value == ZEND_SUB ||
4438
4438
opline -> extended_value == ZEND_MUL ||
4439
4439
opline -> extended_value == ZEND_POW ) {
4440
- return (t1 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT )) ||
4441
- (t2 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT ));
4440
+ return (t1 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT | MAY_BE_RESOURCE )) ||
4441
+ (t2 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT | MAY_BE_RESOURCE ));
4442
4442
} else if (opline -> extended_value == ZEND_SL ||
4443
4443
opline -> extended_value == ZEND_SR ) {
4444
- return (t1 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT )) ||
4445
- (t2 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT )) ||
4444
+ return (t1 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT | MAY_BE_RESOURCE )) ||
4445
+ (t2 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT | MAY_BE_RESOURCE )) ||
4446
4446
!OP2_HAS_RANGE () ||
4447
4447
OP2_MIN_RANGE () < 0 ;
4448
4448
} else if (opline -> extended_value == ZEND_CONCAT ) {
@@ -4455,8 +4455,8 @@ int zend_may_throw(const zend_op *opline, const zend_ssa_op *ssa_op, const zend_
4455
4455
&& (t2 & MAY_BE_ANY ) == MAY_BE_STRING ) {
4456
4456
return 0 ;
4457
4457
}
4458
- return (t1 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT )) ||
4459
- (t2 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT ));
4458
+ return (t1 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT | MAY_BE_RESOURCE )) ||
4459
+ (t2 & (MAY_BE_STRING |MAY_BE_ARRAY |MAY_BE_OBJECT | MAY_BE_RESOURCE ));
4460
4460
}
4461
4461
return 1 ;
4462
4462
case ZEND_ASSIGN :
0 commit comments