Skip to content

Commit ae1d4de

Browse files
RasmusWLyoff
andcommitted
Python: ExternalAPIs.qll: Swap order of classes
Co-authored-by: yoff <[email protected]>
1 parent b6f76d7 commit ae1d4de

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

python/ql/src/Security/CWE-020-ExternalAPIs/ExternalAPIs.qll

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -111,44 +111,44 @@ abstract class InterestingExternalApiCall extends TInterestingExternalApiCall {
111111
abstract string getApiName();
112112
}
113113

114-
class ResolvedCall extends InterestingExternalApiCall, TResolvedCall {
115-
DataFlowPrivate::DataFlowCall dfCall;
114+
class UnresolvedCall extends InterestingExternalApiCall, TUnresolvedCall {
115+
DataFlow::CallCfgNode call;
116116

117-
ResolvedCall() { this = TResolvedCall(dfCall) }
117+
UnresolvedCall() { this = TUnresolvedCall(call) }
118118

119119
override DataFlow::Node getArgument(DataFlowPrivate::ArgumentPosition apos) {
120-
result = dfCall.getArgument(apos)
120+
exists(int i | apos.isPositional(i) | result = call.getArg(i))
121+
or
122+
exists(string name | apos.isKeyword(name) | result = call.getArgByName(name))
121123
}
122124

123125
override string toString() {
124-
result = "ExternalAPI:ResolvedCall: " + dfCall.getNode().getNode().toString()
126+
result = "ExternalAPI:UnresolvedCall: " + call.getNode().getNode().toString()
125127
}
126128

127129
override string getApiName() {
128-
exists(DataFlow::CallCfgNode call, API::Node apiNode | dfCall.getNode() = call.getNode() |
130+
exists(API::Node apiNode |
129131
result = apiNodeToStringRepr(apiNode) and
130132
apiNode.getACall() = call
131133
)
132134
}
133135
}
134136

135-
class UnresolvedCall extends InterestingExternalApiCall, TUnresolvedCall {
136-
DataFlow::CallCfgNode call;
137+
class ResolvedCall extends InterestingExternalApiCall, TResolvedCall {
138+
DataFlowPrivate::DataFlowCall dfCall;
137139

138-
UnresolvedCall() { this = TUnresolvedCall(call) }
140+
ResolvedCall() { this = TResolvedCall(dfCall) }
139141

140142
override DataFlow::Node getArgument(DataFlowPrivate::ArgumentPosition apos) {
141-
exists(int i | apos.isPositional(i) | result = call.getArg(i))
142-
or
143-
exists(string name | apos.isKeyword(name) | result = call.getArgByName(name))
143+
result = dfCall.getArgument(apos)
144144
}
145145

146146
override string toString() {
147-
result = "ExternalAPI:UnresolvedCall: " + call.getNode().getNode().toString()
147+
result = "ExternalAPI:ResolvedCall: " + dfCall.getNode().getNode().toString()
148148
}
149149

150150
override string getApiName() {
151-
exists(API::Node apiNode |
151+
exists(DataFlow::CallCfgNode call, API::Node apiNode | dfCall.getNode() = call.getNode() |
152152
result = apiNodeToStringRepr(apiNode) and
153153
apiNode.getACall() = call
154154
)

0 commit comments

Comments
 (0)