diff --git a/shared/dataflow/codeql/dataflow/internal/FlowSummaryImpl.qll b/shared/dataflow/codeql/dataflow/internal/FlowSummaryImpl.qll index 244cc573197..e6da5d3a37f 100644 --- a/shared/dataflow/codeql/dataflow/internal/FlowSummaryImpl.qll +++ b/shared/dataflow/codeql/dataflow/internal/FlowSummaryImpl.qll @@ -686,6 +686,11 @@ module Make< derivedFluentFlowPush(_, _, _, head, tail, _) } + pragma[nomagic] + private string getUniqueMadRepresentation(SummaryComponent c) { + result = strictconcat(string s | s = c.getMadRepresentation() | s, "/") + } + /** * A (non-empty) stack of summary components. * @@ -732,7 +737,7 @@ module Make< exists(SummaryComponent head, SummaryComponentStack tail | head = this.head() and tail = this.tail() and - result = tail.getMadRepresentation() + "." + head.getMadRepresentation() + result = tail.getMadRepresentation() + "." + getUniqueMadRepresentation(head) ) or exists(SummaryComponent c |