File tree Expand file tree Collapse file tree 1 file changed +8
-7
lines changed
ruby/ql/lib/codeql/ruby/frameworks Expand file tree Collapse file tree 1 file changed +8
-7
lines changed Original file line number Diff line number Diff line change @@ -21,16 +21,17 @@ module Twirp {
21
21
this = API:: getTopLevelMember ( "Twirp" ) .getMember ( "Service" ) .getAnInstantiation ( )
22
22
}
23
23
24
- private DataFlow:: ClassNode getAHandlerClass ( ) {
25
- result .getAnImmediateReference ( ) .getAMethodCall ( "new" ) .flowsTo ( this .getArgument ( 0 ) )
26
- }
27
-
28
24
/**
29
25
* Gets a handler's method.
30
26
*/
31
- Ast :: Method getAHandlerMethod ( ) {
32
- result = this .getAHandlerClass ( ) . getAnAncestor ( ) .getAnOwnInstanceMethod ( ) . asCallableAstNode ( )
27
+ DataFlow :: MethodNode getAHandlerMethodNode ( ) {
28
+ result = this .getArgument ( 0 ) . backtrack ( ) .getMethod ( _ ) . asCallable ( )
33
29
}
30
+
31
+ /**
32
+ * Gets a handler's method as an AST node.
33
+ */
34
+ Ast:: Method getAHandlerMethod ( ) { result = this .getAHandlerMethodNode ( ) .asCallableAstNode ( ) }
34
35
}
35
36
36
37
/**
@@ -52,7 +53,7 @@ module Twirp {
52
53
DataFlow:: ParameterNode
53
54
{
54
55
UnmarshaledParameter ( ) {
55
- exists ( ServiceInstantiation i | i . getAHandlerMethod ( ) .getParameter ( 0 ) = this . asParameter ( ) )
56
+ this = any ( ServiceInstantiation i ) . getAHandlerMethodNode ( ) .getParameter ( 0 )
56
57
}
57
58
58
59
override string getSourceType ( ) { result = "Twirp Unmarhaled Parameter" }
You can’t perform that action at this time.
0 commit comments