@@ -43,11 +43,21 @@ public void testSanitizers() {
43
43
logger .debug (source .replaceAll ("\r " , "" )); // Safe
44
44
logger .debug (source .replaceAll ("\r " , "\n " )); // $ hasTaintFlow
45
45
logger .debug (source .replaceAll ("\r " , "\r " )); // $ hasTaintFlow
46
+ logger .debug (source .replaceAll ("\\ n" , "" )); // Safe
47
+ logger .debug (source .replaceAll ("\\ n" , "\n " )); // $ hasTaintFlow
48
+ logger .debug (source .replaceAll ("\\ n" , "\r " )); // $ hasTaintFlow
49
+ logger .debug (source .replaceAll ("\\ r" , "" )); // Safe
50
+ logger .debug (source .replaceAll ("\\ r" , "\n " )); // $ hasTaintFlow
51
+ logger .debug (source .replaceAll ("\\ r" , "\r " )); // $ hasTaintFlow
52
+ logger .debug (source .replaceAll ("\\ R" , "" )); // Safe
53
+ logger .debug (source .replaceAll ("\\ R" , "\n " )); // $ hasTaintFlow
54
+ logger .debug (source .replaceAll ("\\ R" , "\r " )); // $ hasTaintFlow
46
55
logger .debug (source .replaceAll ("[^a-zA-Z]" , "" )); // Safe
47
56
logger .debug (source .replaceAll ("[^a-zA-Z]" , "\n " )); // $ hasTaintFlow
48
57
logger .debug (source .replaceAll ("[^a-zA-Z]" , "\r " )); // $ hasTaintFlow
49
58
logger .debug (source .replaceAll ("[^a-zA-Z\n ]" , "" )); // $ hasTaintFlow
50
59
logger .debug (source .replaceAll ("[^a-zA-Z\r ]" , "" )); // $ hasTaintFlow
60
+ logger .debug (source .replaceAll ("[^a-zA-Z\\ R]" , "" )); // $ hasTaintFlow
51
61
}
52
62
53
63
public void testGuards () {
@@ -66,6 +76,18 @@ public void testGuards() {
66
76
logger .debug (source ); // Safe
67
77
}
68
78
79
+ if (source .matches (".*\\ n.*" )) {
80
+ logger .debug (source ); // $ hasTaintFlow
81
+ } else {
82
+ logger .debug (source ); // Safe
83
+ }
84
+
85
+ if (Pattern .matches (".*\\ n.*" , source )) {
86
+ logger .debug (source ); // $ hasTaintFlow
87
+ } else {
88
+ logger .debug (source ); // Safe
89
+ }
90
+
69
91
if (source .matches (".*\r .*" )) {
70
92
logger .debug (source ); // $ hasTaintFlow
71
93
} else {
@@ -78,6 +100,30 @@ public void testGuards() {
78
100
logger .debug (source ); // Safe
79
101
}
80
102
103
+ if (source .matches (".*\\ r.*" )) {
104
+ logger .debug (source ); // $ hasTaintFlow
105
+ } else {
106
+ logger .debug (source ); // Safe
107
+ }
108
+
109
+ if (Pattern .matches (".*\\ r.*" , source )) {
110
+ logger .debug (source ); // $ hasTaintFlow
111
+ } else {
112
+ logger .debug (source ); // Safe
113
+ }
114
+
115
+ if (source .matches (".*\\ R.*" )) {
116
+ logger .debug (source ); // $ hasTaintFlow
117
+ } else {
118
+ logger .debug (source ); // Safe
119
+ }
120
+
121
+ if (Pattern .matches (".*\\ R.*" , source )) {
122
+ logger .debug (source ); // $ hasTaintFlow
123
+ } else {
124
+ logger .debug (source ); // Safe
125
+ }
126
+
81
127
if (source .matches (".*" )) {
82
128
logger .debug (source ); // Safe (assuming not DOTALL)
83
129
} else {
@@ -102,6 +148,18 @@ public void testGuards() {
102
148
logger .debug (source ); // $ hasTaintFlow
103
149
}
104
150
151
+ if (source .matches ("[^\\ R]*" )) {
152
+ logger .debug (source ); // Safe
153
+ } else {
154
+ logger .debug (source ); // $ hasTaintFlow
155
+ }
156
+
157
+ if (Pattern .matches ("[^\\ R]*" , source )) {
158
+ logger .debug (source ); // Safe
159
+ } else {
160
+ logger .debug (source ); // $ hasTaintFlow
161
+ }
162
+
105
163
if (source .matches ("[^a-zA-Z]*" )) {
106
164
logger .debug (source ); // $ hasTaintFlow
107
165
} else {
0 commit comments