File tree Expand file tree Collapse file tree 3 files changed +4
-3
lines changed
lib/semmle/code/cpp/ir/dataflow/internal
test/library-tests/dataflow Expand file tree Collapse file tree 3 files changed +4
-3
lines changed Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ private import DataFlowImplCommon as DataFlowImplCommon
66private import DataFlowUtil
77private import semmle.code.cpp.models.interfaces.PointerWrapper
88private import DataFlowPrivate
9+ private import semmle.code.cpp.ir.ValueNumbering
910
1011/**
1112 * Holds if `operand` is an operand that is not used by the dataflow library.
@@ -864,7 +865,7 @@ private module Cached {
864865 * to a specific address.
865866 */
866867 private predicate isCertainAddress ( Operand operand ) {
867- operand . getDef ( ) instanceof VariableAddressInstruction
868+ valueNumberOfOperand ( operand ) . getAnInstruction ( ) instanceof VariableAddressInstruction
868869 or
869870 operand .getType ( ) instanceof Cpp:: ReferenceType
870871 }
Original file line number Diff line number Diff line change @@ -732,7 +732,7 @@ void test_does_not_write_source_to_dereference()
732732{
733733 int x;
734734 does_not_write_source_to_dereference (&x);
735- sink (x); // $ ast,ir =733:7 SPURIOUS: ast,ir =726:11
735+ sink (x); // $ ast=733:7 ir SPURIOUS: ast=726:11
736736}
737737
738738void sometimes_calls_sink_eq (int x, int n) {
Original file line number Diff line number Diff line change @@ -134,7 +134,7 @@ void pointer_test() {
134134 sink (*p3); // $ ast,ir
135135
136136 *p3 = 0 ;
137- sink (*p3); // $ SPURIOUS: ast,ir
137+ sink (*p3); // $ SPURIOUS: ast
138138}
139139
140140// --- return values ---
You can’t perform that action at this time.
0 commit comments