File tree Expand file tree Collapse file tree 3 files changed +26
-1
lines changed Expand file tree Collapse file tree 3 files changed +26
-1
lines changed Original file line number Diff line number Diff line change 7
7
(psumbera)
8
8
. Fixed bug GH-18581 (Coerce numeric string keys from iterators when argument
9
9
unpacking). (ilutov)
10
+ . Fixed OSS-Fuzz #434346548 (Failed assertion with throwing __toString in
11
+ binary const expr). (ilutov)
10
12
11
13
- FTP:
12
14
. Fix theoretical issues with hrtime() not being available. (nielsdos)
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ OSS-Fuzz #434346548: Failed assertion with throwing __toString in binary const expr
3
+ --FILE--
4
+ <?php
5
+
6
+ class Foo {
7
+ function __toString () {}
8
+ }
9
+
10
+ function test ($ y = new Foo () < "" ) {
11
+ var_dump ();
12
+ }
13
+
14
+ try {
15
+ test ();
16
+ } catch (Error $ e ) {
17
+ echo $ e ->getMessage (), "\n" ;
18
+ }
19
+
20
+ ?>
21
+ --EXPECT--
22
+ Foo::__toString(): Return value must be of type string, none returned
Original file line number Diff line number Diff line change @@ -548,9 +548,10 @@ ZEND_API zend_result ZEND_FASTCALL zend_ast_evaluate_inner(
548
548
ret = FAILURE ;
549
549
} else {
550
550
binary_op_type op = get_binary_op (ast -> attr );
551
- ret = op (result , & op1 , & op2 );
551
+ op (result , & op1 , & op2 );
552
552
zval_ptr_dtor_nogc (& op1 );
553
553
zval_ptr_dtor_nogc (& op2 );
554
+ ret = EG (exception ) ? FAILURE : SUCCESS ;
554
555
}
555
556
break ;
556
557
case ZEND_AST_GREATER :
You can’t perform that action at this time.
0 commit comments