File tree 3 files changed +16
-1
lines changed 3 files changed +16
-1
lines changed Original file line number Diff line number Diff line change 4
4
- Fixed an error in mysqli_fetch_fields (returned NULL instead of an
5
5
array when row number > field_count). (Georg)
6
6
- Renamed CachingRecursiveIterator to RecursiveCachingIterator. (Marcus)
7
+ - Fixed bug #36303 (foreach on error_zval produces segfault). (Dmitry)
7
8
- Fixed bug #36071 (Engine Crash related with 'clone'). (Dmitry)
8
9
- Fixed bug #36006 (Problem with $this in __destruct()). (Dmitry)
9
10
- Fixed bug #35612 (iis6 Access Violation crash). (Dmitry, alacn.uhahaa)
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ Bug #36303 (foreach on error_zval produces segfault)
3
+ --FILE--
4
+ <?php
5
+ $ x ="test " ;
6
+ foreach ($ x ->a ->b as &$ v ) {
7
+ }
8
+ echo "ok \n" ;
9
+ ?>
10
+ --EXPECTF--
11
+ Warning: Invalid argument supplied for foreach() in %sbug36303.php on line 3
12
+ ok
Original file line number Diff line number Diff line change @@ -3815,7 +3815,9 @@ int zend_fe_reset_handler(ZEND_OPCODE_HANDLER_ARGS)
3815
3815
}
3816
3816
array_ptr = * array_ptr_ptr ;
3817
3817
} else {
3818
- SEPARATE_ZVAL_IF_NOT_REF (array_ptr_ptr );
3818
+ if (Z_TYPE_PP (array_ptr_ptr ) == IS_ARRAY ) {
3819
+ SEPARATE_ZVAL_IF_NOT_REF (array_ptr_ptr );
3820
+ }
3819
3821
array_ptr = * array_ptr_ptr ;
3820
3822
array_ptr -> refcount ++ ;
3821
3823
}
You can’t perform that action at this time.
0 commit comments