File tree Expand file tree Collapse file tree 2 files changed +13
-11
lines changed
ruby/ql/lib/codeql/ruby/frameworks Expand file tree Collapse file tree 2 files changed +13
-11
lines changed Original file line number Diff line number Diff line change @@ -83,8 +83,7 @@ class ActionControllerClass extends DataFlow::ClassNode {
8383 }
8484}
8585
86- // TODO: private
87- DataFlow:: LocalSourceNode actionControllerInstance ( ) {
86+ private DataFlow:: LocalSourceNode actionControllerInstance ( ) {
8887 result = any ( ActionControllerClass cls ) .getSelf ( )
8988}
9089
Original file line number Diff line number Diff line change 22
33private import codeql.ruby.Concepts
44private import codeql.ruby.DataFlow
5+ private import codeql.ruby.ApiGraphs
56private import codeql.ruby.frameworks.ActionController
67
78/** Modeling for `ActionDispatch::Request`. */
89module Request {
910 /**
10- * An instance of `ActionDispatch::Request`.
11- */
12- private class RequestNode extends DataFlow:: CallNode {
13- RequestNode ( ) { this = actionControllerInstance ( ) .getAMethodCall ( "request" ) }
14- }
15-
16- /**
17- * A method call on `request`.
11+ * A method call against an `ActionDispatch::Request` instance.
1812 */
1913 private class RequestMethodCall extends DataFlow:: CallNode {
2014 RequestMethodCall ( ) {
21- any ( RequestNode r ) .( DataFlow:: LocalSourceNode ) .flowsTo ( this .getReceiver ( ) )
15+ any ( ActionControllerClass cls )
16+ .getSelf ( )
17+ .getAMethodCall ( "request" )
18+ .( DataFlow:: LocalSourceNode )
19+ .flowsTo ( this .getReceiver ( ) ) or
20+ this =
21+ API:: getTopLevelMember ( "ActionDispatch" )
22+ .getMember ( "Request" )
23+ .getInstance ( )
24+ .getAMethodCall ( _)
2225 }
2326 }
2427
You can’t perform that action at this time.
0 commit comments