@@ -24,10 +24,11 @@ private module Cached {
2424 * global taint flow configurations.
2525 */
2626 cached
27- predicate defaultAdditionalTaintStep ( DataFlow:: Node nodeFrom , DataFlow:: Node nodeTo ) {
28- localAdditionalTaintStep ( nodeFrom , nodeTo )
27+ predicate defaultAdditionalTaintStep ( DataFlow:: Node nodeFrom , DataFlow:: Node nodeTo , string model ) {
28+ localAdditionalTaintStep ( nodeFrom , nodeTo , model )
2929 or
30- any ( AdditionalTaintStep a ) .step ( nodeFrom , nodeTo )
30+ any ( AdditionalTaintStep a ) .step ( nodeFrom , nodeTo ) and
31+ model = "AdditionalTaintStep"
3132 }
3233
3334 /**
@@ -36,30 +37,34 @@ private module Cached {
3637 * different objects.
3738 */
3839 cached
39- predicate localAdditionalTaintStep ( DataFlow:: Node nodeFrom , DataFlow:: Node nodeTo ) {
40- concatStep ( nodeFrom , nodeTo )
41- or
42- subscriptStep ( nodeFrom , nodeTo )
43- or
44- stringManipulation ( nodeFrom , nodeTo )
45- or
46- containerStep ( nodeFrom , nodeTo )
47- or
48- copyStep ( nodeFrom , nodeTo )
49- or
50- DataFlowPrivate:: forReadStep ( nodeFrom , _, nodeTo )
51- or
52- DataFlowPrivate:: iterableUnpackingReadStep ( nodeFrom , _, nodeTo )
53- or
54- DataFlowPrivate:: iterableUnpackingStoreStep ( nodeFrom , _, nodeTo )
55- or
56- awaitStep ( nodeFrom , nodeTo )
57- or
58- asyncWithStep ( nodeFrom , nodeTo )
40+ predicate localAdditionalTaintStep ( DataFlow:: Node nodeFrom , DataFlow:: Node nodeTo , string model ) {
41+ (
42+ concatStep ( nodeFrom , nodeTo )
43+ or
44+ subscriptStep ( nodeFrom , nodeTo )
45+ or
46+ stringManipulation ( nodeFrom , nodeTo )
47+ or
48+ containerStep ( nodeFrom , nodeTo )
49+ or
50+ copyStep ( nodeFrom , nodeTo )
51+ or
52+ DataFlowPrivate:: forReadStep ( nodeFrom , _, nodeTo )
53+ or
54+ DataFlowPrivate:: iterableUnpackingReadStep ( nodeFrom , _, nodeTo )
55+ or
56+ DataFlowPrivate:: iterableUnpackingStoreStep ( nodeFrom , _, nodeTo )
57+ or
58+ awaitStep ( nodeFrom , nodeTo )
59+ or
60+ asyncWithStep ( nodeFrom , nodeTo )
61+ ) and
62+ model = ""
5963 or
6064 FlowSummaryImpl:: Private:: Steps:: summaryLocalStep ( nodeFrom
6165 .( DataFlowPrivate:: FlowSummaryNode )
62- .getSummaryNode ( ) , nodeTo .( DataFlowPrivate:: FlowSummaryNode ) .getSummaryNode ( ) , false )
66+ .getSummaryNode ( ) , nodeTo .( DataFlowPrivate:: FlowSummaryNode ) .getSummaryNode ( ) , false ,
67+ model )
6368 }
6469}
6570
0 commit comments