diff options
| author | 2022-03-06 11:03:48 +0100 | |
|---|---|---|
| committer | 2022-10-06 21:00:52 +0200 | |
| commit | a283eda320ea1a4df5e6370528eb1b2ec64e466c (patch) | |
| tree | 7662d3d4056c31e652c4c17ce5ee68a6182d9ae6 /src | |
| parent | MemoryManager: Finish up the initial implementation. (diff) | |
| download | yuzu-a283eda320ea1a4df5e6370528eb1b2ec64e466c.tar.gz yuzu-a283eda320ea1a4df5e6370528eb1b2ec64e466c.tar.xz yuzu-a283eda320ea1a4df5e6370528eb1b2ec64e466c.zip | |
Shader Decompiler: Fix dangerous behavior of invalid iterator insertion.
Diffstat (limited to 'src')
| -rw-r--r-- | src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp b/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp index 578bc8c1b..ce42475d4 100644 --- a/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp +++ b/src/shader_recompiler/frontend/maxwell/structured_control_flow.cpp | |||
| @@ -964,9 +964,9 @@ private: | |||
| 964 | demote_endif_node.type = Type::EndIf; | 964 | demote_endif_node.type = Type::EndIf; |
| 965 | demote_endif_node.data.end_if.merge = return_block_it->data.block; | 965 | demote_endif_node.data.end_if.merge = return_block_it->data.block; |
| 966 | 966 | ||
| 967 | asl.insert(return_block_it, demote_endif_node); | 967 | const auto next_it_1 = asl.insert(return_block_it, demote_endif_node); |
| 968 | asl.insert(return_block_it, demote_node); | 968 | const auto next_it_2 = asl.insert(next_it_1, demote_node); |
| 969 | asl.insert(return_block_it, demote_if_node); | 969 | asl.insert(next_it_2, demote_if_node); |
| 970 | } | 970 | } |
| 971 | 971 | ||
| 972 | ObjectPool<Statement>& stmt_pool; | 972 | ObjectPool<Statement>& stmt_pool; |