File tree Expand file tree Collapse file tree 1 file changed +12
-1
lines changed
cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal Expand file tree Collapse file tree 1 file changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -7,9 +7,12 @@ private import DataFlowImplCommon as DataFlowImplCommon
7
7
8
8
/**
9
9
* Gets a function that might be called by `call`.
10
+ *
11
+ * This predicate does not take additional call targets
12
+ * from `AdditionalCallTarget` into account.
10
13
*/
11
14
cached
12
- DataFlowCallable viableCallable ( DataFlowCall call ) {
15
+ DataFlowCallable defaultViableCallable ( DataFlowCall call ) {
13
16
DataFlowImplCommon:: forceCachingInSameStage ( ) and
14
17
result = call .getStaticCallTarget ( )
15
18
or
@@ -27,6 +30,14 @@ DataFlowCallable viableCallable(DataFlowCall call) {
27
30
or
28
31
// Virtual dispatch
29
32
result = call .( VirtualDispatch:: DataSensitiveCall ) .resolve ( )
33
+ }
34
+
35
+ /**
36
+ * Gets a function that might be called by `call`.
37
+ */
38
+ cached
39
+ DataFlowCallable viableCallable ( DataFlowCall call ) {
40
+ result = defaultViableCallable ( call )
30
41
or
31
42
// Additional call targets
32
43
result = any ( AdditionalCallTarget additional ) .viableTarget ( call .getUnconvertedResultExpression ( ) )
You can’t perform that action at this time.
0 commit comments