Commit 5b939a9
committed
Fix scope dispose ref_count: guard ref and ZEND_ASYNC_SCOPE_RELEASE
- scope_dispose: keep ref_count=1 as guard during disposal, drop guard
ref only before efree. Removes premature DEL_REF that caused
use-after-free when finally handlers created child scopes.
- finally_handlers_iterator_dtor: use ZEND_ASYNC_SCOPE_RELEASE instead
of manual DEL_REF + try_to_dispose to avoid double-decrement with
scope_dispose's >1 path.
- Update test 033 expected output for changed finally handler ordering.1 parent bba8680 commit 5b939a9
2 files changed
Lines changed: 17 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1223 | 1223 | | |
1224 | 1224 | | |
1225 | 1225 | | |
1226 | | - | |
1227 | | - | |
1228 | | - | |
1229 | | - | |
1230 | | - | |
1231 | | - | |
1232 | | - | |
| 1226 | + | |
1233 | 1227 | | |
1234 | 1228 | | |
1235 | 1229 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1086 | 1086 | | |
1087 | 1087 | | |
1088 | 1088 | | |
1089 | | - | |
1090 | | - | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
1091 | 1095 | | |
1092 | 1096 | | |
1093 | 1097 | | |
| |||
1119 | 1123 | | |
1120 | 1124 | | |
1121 | 1125 | | |
1122 | | - | |
1123 | | - | |
| 1126 | + | |
| 1127 | + | |
1124 | 1128 | | |
1125 | 1129 | | |
1126 | 1130 | | |
1127 | 1131 | | |
1128 | 1132 | | |
1129 | 1133 | | |
1130 | 1134 | | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
1131 | 1143 | | |
1132 | 1144 | | |
1133 | 1145 | | |
| |||
0 commit comments