From 39ba0713b8eed2a2bd6c4f2ba8ed64e480ce9d0d Mon Sep 17 00:00:00 2001 From: Michael Hohn Date: Mon, 17 Mar 2025 19:45:26 -0700 Subject: [PATCH] minor cleanup --- graphs/ast.ql | 1 - graphs/cfg.ql | 44 +------------------------------------------- 2 files changed, 1 insertion(+), 44 deletions(-) diff --git a/graphs/ast.ql b/graphs/ast.ql index 92d15a0..67f5458 100644 --- a/graphs/ast.ql +++ b/graphs/ast.ql @@ -6,7 +6,6 @@ import cpp import semmle.code.cpp.PrintAST -// extend `PrintASTConfiguration` and override `shouldPrintFunction` to hold for only the functions class PrintConfig extends PrintAstConfiguration { override predicate shouldPrintFunction(Function func) { func.hasName("copy_mem") } } diff --git a/graphs/cfg.ql b/graphs/cfg.ql index 19202ec..dfa47a0 100644 --- a/graphs/cfg.ql +++ b/graphs/cfg.ql @@ -7,45 +7,10 @@ // The CFG is large. Just show the part for // int copy_mem(unsigned int unused, dyn_input_t *input, -// unsigned int input_types) +// unsigned int input_types) import cpp -predicate allSuccessors3(int distance, ControlFlowNode n1, ControlFlowNode n2) { - // n1.getASuccessor*() = n2 and - distance = 0 and n1 = n2 - or - distance = 1 and n1 = n2.getAPredecessor() - or - distance = 2 and n1 = n2.getAPredecessor().getAPredecessor() - or - // allSuccessors3(distance-1, n2.getAPredecessor(), n2) - // or - exists(ControlFlowNode mid | - // // n1 -> mid - // n1 = mid.getAPredecessor() and - // // mid -> n2 - // allSuccessors3(distance-1, mid, n2) - // --- right-to-left recursion - // n1 -> mid - distance < 12 and - allSuccessors3(distance - 1, n1, mid) and - // mid -> n2 - mid = n2.getAPredecessor() - ) -} - -predicate allSuccessors1(ControlFlowNode n1, ControlFlowNode n2) { - // n1.getASuccessor*() = n2 and - n1 = n2 - or - // n2 = n1.getASuccessor() - exists(ControlFlowNode mid | - allSuccessors1(n1, mid) and - n2 = mid.getASuccessor() - ) -} - query predicate nodes(ControlFlowNode n1, string key, string value) { exists(ControlFlowNode startFrom | (edges(n1, _) or edges(_, n1)) and @@ -64,13 +29,6 @@ query predicate nodes(ControlFlowNode n1, string key, string value) { ) } -// query predicate edgesDist(ControlFlowNode n1, ControlFlowNode n2, int distance) { -// distance = 12 and -// // allSuccessors3(distance, n1, n2) and -// n1.(Function).hasName("copy_mem") and -// n2 = n1.getASuccessor+() -// } - query predicate edges(ControlFlowNode n1, ControlFlowNode n2) { exists(ControlFlowNode t1, ControlFlowNode t2 | t1.(Function).hasName("copy_mem") and