diff options
| author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-03-06 11:03:48 +0100 | 
|---|---|---|
| committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-10-06 21:00:52 +0200 | 
| commit | a283eda320ea1a4df5e6370528eb1b2ec64e466c (patch) | |
| tree | 7662d3d4056c31e652c4c17ce5ee68a6182d9ae6 | |
| parent | 359f22b808f54de9f19e40a8f93604ee7e4bac80 (diff) | |
Shader Decompiler: Fix dangerous behavior of invalid iterator insertion.
| -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:          demote_endif_node.type = Type::EndIf;          demote_endif_node.data.end_if.merge = return_block_it->data.block; -        asl.insert(return_block_it, demote_endif_node); -        asl.insert(return_block_it, demote_node); -        asl.insert(return_block_it, demote_if_node); +        const auto next_it_1 = asl.insert(return_block_it, demote_endif_node); +        const auto next_it_2 = asl.insert(next_it_1, demote_node); +        asl.insert(next_it_2, demote_if_node);      }      ObjectPool<Statement>& stmt_pool; | 
