Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e3ce7c6

Browse files
committed
C++: Fix indirection ambiguity in the test.
1 parent 087d689 commit e3ce7c6

2 files changed

Lines changed: 5 additions & 4 deletions

File tree

cpp/ql/test/library-tests/dataflow/models-as-data/taint.ql

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ module IRTest {
1010
predicate isSource(DataFlow::Node source) {
1111
source instanceof FlowSource
1212
or
13-
source.asExpr().(FunctionCall).getTarget().getName() = ["source", "source2", "source3", "sourcePtr"]
13+
source.asExpr().(FunctionCall).getTarget().getName() =
14+
["source", "source2", "source3", "sourcePtr"]
1415
or
1516
source.asIndirectExpr(1).(FunctionCall).getTarget().getName() = "sourceIndirect"
1617
}
@@ -20,7 +21,7 @@ module IRTest {
2021
or
2122
exists(FunctionCall call |
2223
call.getTarget().getName() = "sink" and
23-
[sink.asExpr(), sink.asIndirectExpr()] = call.getAnArgument()
24+
sink.asExpr() = call.getAnArgument()
2425
)
2526
}
2627
}

cpp/ql/test/library-tests/dataflow/models-as-data/tests.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,14 @@ void test_sources() {
4444
sink(localMadSourceVoid()); // $ ir
4545
sink(localMadSourceHasBody()); // $ ir
4646

47-
sink(sourceIndirect()); // $ SPURIOUS: ir
47+
sink(sourceIndirect());
4848
sink(*sourceIndirect()); // $ ir
4949

5050
int v = localMadSource();
5151
int *v_indirect = &v;
5252
int v_direct = *v_indirect;
5353
sink(v); // $ ir
54-
sink(v_indirect); // $ SPURIOUS: ir
54+
sink(v_indirect);
5555
sink(*v_indirect); // $ ir
5656
sink(v_direct); // $ ir
5757

0 commit comments

Comments
 (0)