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 efd33b82a89..cc8d0cdbe94 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 @@ -210,8 +210,8 @@ class IndirectOperand extends Node { this.(RawIndirectOperand).getOperand() = operand and this.(RawIndirectOperand).getIndirectionIndex() = indirectionIndex or - this.(OperandNode).getOperand() = - Ssa::getIRRepresentationOfIndirectOperand(operand, indirectionIndex) + nodeHasOperand(this, Ssa::getIRRepresentationOfIndirectOperand(operand, indirectionIndex), + indirectionIndex - 1) } /** Gets the underlying operand. */ @@ -250,8 +250,8 @@ class IndirectInstruction extends Node { this.(RawIndirectInstruction).getInstruction() = instr and this.(RawIndirectInstruction).getIndirectionIndex() = indirectionIndex or - this.(InstructionNode).getInstruction() = - Ssa::getIRRepresentationOfIndirectInstruction(instr, indirectionIndex) + nodeHasInstruction(this, Ssa::getIRRepresentationOfIndirectInstruction(instr, indirectionIndex), + indirectionIndex - 1) } /** Gets the underlying instruction. */