1
+ /**
2
+ * Provides classes and predicates related to `ratpack.exec.*`.
3
+ */
4
+
1
5
import java
2
6
private import semmle.code.java.dataflow.DataFlow
3
7
private import semmle.code.java.dataflow.FlowSteps
4
8
private import semmle.code.java.dataflow.ExternalFlow
5
9
6
10
/**
7
- * Ratpack methods that propagate user-supplied data as tainted .
11
+ * Model for Ratpack `Promise` methods .
8
12
*/
9
13
private class RatpackExecModel extends SummaryModelCsv {
10
14
override predicate row ( string row ) {
@@ -21,7 +25,7 @@ private class RatpackExecModel extends SummaryModelCsv {
21
25
"map;;;ReturnValue of Argument[0];Element of ReturnValue;value" ,
22
26
"blockingMap;;;Element of Argument[-1];Parameter[0] of Argument[0];value" ,
23
27
"blockingMap;;;ReturnValue of Argument[0];Element of ReturnValue;value" ,
24
- "mapError;;;ReturnValue of Argument[0 ];Element of ReturnValue;value" ,
28
+ "mapError;;;ReturnValue of Argument[1 ];Element of ReturnValue;value" ,
25
29
// `apply` passes the qualifier to the function as the first argument
26
30
"apply;;;Element of Argument[-1];Element of Parameter[0] of Argument[0];value" ,
27
31
"apply;;;Element of ReturnValue of Argument[0];Element of ReturnValue;value" ,
@@ -41,7 +45,7 @@ private class RatpackExecModel extends SummaryModelCsv {
41
45
// `flatMap` type methods return their returned `Promise`
42
46
"flatMap;;;Element of Argument[-1];Parameter[0] of Argument[0];value" ,
43
47
"flatMap;;;Element of ReturnValue of Argument[0];Element of ReturnValue;value" ,
44
- "flatMapError;;;Element of ReturnValue of Argument[0 ];Element of ReturnValue;value" ,
48
+ "flatMapError;;;Element of ReturnValue of Argument[1 ];Element of ReturnValue;value" ,
45
49
// `mapIf` methods conditionally map their values, or return themselves
46
50
"mapIf;;;Element of Argument[-1];Parameter[0] of Argument[0];value" ,
47
51
"mapIf;;;Element of Argument[-1];Parameter[0] of Argument[1];value" ,
0 commit comments