diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll index 85a4a224e52..838a660432f 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll @@ -785,11 +785,10 @@ predicate clearsContent(Node n, Content c) { p.getAnOperand() = op.getUse().getAst() ) or - not exists(PostUpdateNode pun, Content d | - d.impliesClearOf(c) and - storeStepImpl(_, d, pun, true) and - c.getIndirectionIndex() > d.getIndirectionIndex() and - pun.getPreUpdateNode() = n + forex(PostUpdateNode pun, Content d | + d.impliesClearOf(c) and storeStepImpl(_, d, pun, true) and pun.getPreUpdateNode() = n + | + c.getIndirectionIndex() = d.getIndirectionIndex() ) ) }