@@ -30,7 +30,7 @@ class UnsafeJsEvalAdditionalFlowStep extends Unit {
30
30
}
31
31
32
32
/**
33
- * A default SQL injection sink for the `WKWebView` interface.
33
+ * A default javascript evaluation sink for the `WKWebView` interface.
34
34
*/
35
35
private class WKWebViewDefaultUnsafeJsEvalSink extends UnsafeJsEvalSink {
36
36
WKWebViewDefaultUnsafeJsEvalSink ( ) {
@@ -50,7 +50,7 @@ private class WKWebViewDefaultUnsafeJsEvalSink extends UnsafeJsEvalSink {
50
50
}
51
51
52
52
/**
53
- * A default SQL injection sink for the `WKUserContentController` interface.
53
+ * A default javascript evaluation sink for the `WKUserContentController` interface.
54
54
*/
55
55
private class WKUserContentControllerDefaultUnsafeJsEvalSink extends UnsafeJsEvalSink {
56
56
WKUserContentControllerDefaultUnsafeJsEvalSink ( ) {
@@ -61,7 +61,7 @@ private class WKUserContentControllerDefaultUnsafeJsEvalSink extends UnsafeJsEva
61
61
}
62
62
63
63
/**
64
- * A default SQL injection sink for the `UIWebView` and `WebView` interfaces.
64
+ * A default javascript evaluation sink for the `UIWebView` and `WebView` interfaces.
65
65
*/
66
66
private class UIWebViewDefaultUnsafeJsEvalSink extends UnsafeJsEvalSink {
67
67
UIWebViewDefaultUnsafeJsEvalSink ( ) {
@@ -74,7 +74,7 @@ private class UIWebViewDefaultUnsafeJsEvalSink extends UnsafeJsEvalSink {
74
74
}
75
75
76
76
/**
77
- * A default SQL injection sink for the `JSContext` interface.
77
+ * A default javascript evaluation sink for the `JSContext` interface.
78
78
*/
79
79
private class JSContextDefaultUnsafeJsEvalSink extends UnsafeJsEvalSink {
80
80
JSContextDefaultUnsafeJsEvalSink ( ) {
@@ -87,7 +87,7 @@ private class JSContextDefaultUnsafeJsEvalSink extends UnsafeJsEvalSink {
87
87
}
88
88
89
89
/**
90
- * A default SQL injection sink for the `JSEvaluateScript` function.
90
+ * A default javascript evaluation sink for the `JSEvaluateScript` function.
91
91
*/
92
92
private class JSEvaluateScriptDefaultUnsafeJsEvalSink extends UnsafeJsEvalSink {
93
93
JSEvaluateScriptDefaultUnsafeJsEvalSink ( ) {
@@ -98,7 +98,7 @@ private class JSEvaluateScriptDefaultUnsafeJsEvalSink extends UnsafeJsEvalSink {
98
98
}
99
99
100
100
/**
101
- * A default SQL injection additional taint step.
101
+ * A default javascript evaluation additional taint step.
102
102
*/
103
103
private class DefaultUnsafeJsEvalAdditionalFlowStep extends UnsafeJsEvalAdditionalFlowStep {
104
104
override predicate step ( DataFlow:: Node nodeFrom , DataFlow:: Node nodeTo ) {
@@ -120,3 +120,13 @@ private class DefaultUnsafeJsEvalAdditionalFlowStep extends UnsafeJsEvalAddition
120
120
private class DefaultUnsafeJsEvalSink extends UnsafeJsEvalSink {
121
121
DefaultUnsafeJsEvalSink ( ) { sinkNode ( this , "code-injection" ) }
122
122
}
123
+
124
+ /**
125
+ * A barrier for javascript evaluation.
126
+ */
127
+ private class UnsafeJsEvalDefaultBarrier extends UnsafeJsEvalBarrier {
128
+ UnsafeJsEvalDefaultBarrier ( ) {
129
+ // any numeric type
130
+ this .asExpr ( ) .getType ( ) .getUnderlyingType ( ) .getABaseType * ( ) .getName ( ) = "Numeric"
131
+ }
132
+ }
0 commit comments