From d9ea78bfb88077c5011d28319bd9860d59fe2aa9 Mon Sep 17 00:00:00 2001 From: Anders Schack-Mulligen Date: Tue, 3 Mar 2026 13:42:13 +0100 Subject: [PATCH] Cfg: Step directly from a failed case guard to the next case. --- shared/controlflow/codeql/controlflow/ControlFlowGraph.qll | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll b/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll index e4d157ca389..56a909a006c 100644 --- a/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll +++ b/shared/controlflow/codeql/controlflow/ControlFlowGraph.qll @@ -1412,6 +1412,8 @@ module Make0 Ast> { exists(int i | n1.isAfterValue(getRankedCaseCfgOrder(switch, i), any(MatchingSuccessor t | t.getValue() = false)) + or + n1.isAfterFalse(getRankedCaseCfgOrder(switch, i).getGuard()) | n2.isBefore(getRankedCaseCfgOrder(switch, i + 1)) or @@ -1456,9 +1458,6 @@ module Make0 Ast> { or n1.isAfterTrue(case.getGuard()) and n2 = beforeBody - or - n1.isAfterFalse(case.getGuard()) and - n2.isAfterValue(case, any(MatchingSuccessor t | t.getValue() = false)) ) ) or