mirror of
https://github.com/github/codeql.git
synced 2026-05-03 04:39:29 +02:00
Ruby: prevent bad join in ActionController.qll
This commit is contained in:
@@ -92,12 +92,21 @@ class ActionControllerActionMethod extends Method, HTTP::Server::RequestHandler:
|
||||
* May return multiple results.
|
||||
*/
|
||||
ActionDispatch::Route getARoute() {
|
||||
result.getController() + "_controller" =
|
||||
ActionDispatch::underscore(namespaceDeclaration(controllerClass)) and
|
||||
isActionControllerMethod(this, result.getAction(), controllerClass)
|
||||
exists(string name |
|
||||
isRoute(result, name, controllerClass) and
|
||||
isActionControllerMethod(this, name, controllerClass)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private predicate isRoute(
|
||||
ActionDispatch::Route route, string name, ActionControllerControllerClass controllerClass
|
||||
) {
|
||||
route.getController() + "_controller" =
|
||||
ActionDispatch::underscore(namespaceDeclaration(controllerClass)) and
|
||||
name = route.getAction()
|
||||
}
|
||||
|
||||
// A method call with a `self` receiver from within a controller class
|
||||
private class ActionControllerContextCall extends MethodCall {
|
||||
private ActionControllerControllerClass controllerClass;
|
||||
|
||||
Reference in New Issue
Block a user