Skip to content

Commit 3167af2

Browse files
committed
Tidy and remove catersian product from getUrlArgument
1 parent f388aae commit 3167af2

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

java/ql/src/semmle/code/java/security/RequestForgery.qll

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -150,9 +150,7 @@ private class HttpBuilderUriArgument extends RequestForgerySink {
150150
*/
151151
private class SpringRestTemplateArgument extends RequestForgerySink {
152152
SpringRestTemplateArgument() {
153-
exists(MethodAccess ma |
154-
this.asExpr() = ma.getMethod().(SpringRestTemplateUrlMethod).getUrlArgument(ma)
155-
)
153+
this.asExpr() = any(SpringRestTemplateUrlMethodAccess m).getUrlArgument()
156154
}
157155
}
158156

@@ -198,16 +196,19 @@ private class SpringRestTemplateUrlMethod extends Method {
198196
"execute", "getForEntity", "getForObject", "patchForObject"
199197
])
200198
}
199+
}
200+
201+
/**
202+
* A call to a Spring Rest Template method
203+
* that takes a URL as an argument.
204+
*/
205+
private class SpringRestTemplateUrlMethodAccess extends MethodAccess {
206+
SpringRestTemplateUrlMethodAccess() { this.getMethod() instanceof SpringRestTemplateUrlMethod }
201207

202208
/**
203-
* Gets the argument which corresponds to a URL argument
204-
* passed as a `java.net.URL` object or as a string or the like
209+
* Gets the URL argument of this template call.
205210
*/
206-
Argument getUrlArgument(MethodAccess ma) {
207-
// doExecute(URI url, HttpMethod method, RequestCallback requestCallback,
208-
// ResponseExtractor<T> responseExtractor)
209-
result = ma.getArgument(0)
210-
}
211+
Argument getUrlArgument() { result = this.getArgument(0) }
211212
}
212213

213214
/** A sanitizer for request forgery vulnerabilities. */

0 commit comments

Comments
 (0)