@@ -43,11 +43,21 @@ public void testSanitizers() {
4343 logger .debug (source .replaceAll ("\r " , "" )); // Safe
4444 logger .debug (source .replaceAll ("\r " , "\n " )); // $ hasTaintFlow
4545 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
4655 logger .debug (source .replaceAll ("[^a-zA-Z]" , "" )); // Safe
4756 logger .debug (source .replaceAll ("[^a-zA-Z]" , "\n " )); // $ hasTaintFlow
4857 logger .debug (source .replaceAll ("[^a-zA-Z]" , "\r " )); // $ hasTaintFlow
4958 logger .debug (source .replaceAll ("[^a-zA-Z\n ]" , "" )); // $ hasTaintFlow
5059 logger .debug (source .replaceAll ("[^a-zA-Z\r ]" , "" )); // $ hasTaintFlow
60+ logger .debug (source .replaceAll ("[^a-zA-Z\\ R]" , "" )); // $ hasTaintFlow
5161 }
5262
5363 public void testGuards () {
@@ -66,6 +76,18 @@ public void testGuards() {
6676 logger .debug (source ); // Safe
6777 }
6878
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+
6991 if (source .matches (".*\r .*" )) {
7092 logger .debug (source ); // $ hasTaintFlow
7193 } else {
@@ -78,6 +100,30 @@ public void testGuards() {
78100 logger .debug (source ); // Safe
79101 }
80102
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+
81127 if (source .matches (".*" )) {
82128 logger .debug (source ); // Safe (assuming not DOTALL)
83129 } else {
@@ -102,6 +148,18 @@ public void testGuards() {
102148 logger .debug (source ); // $ hasTaintFlow
103149 }
104150
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+
105163 if (source .matches ("[^a-zA-Z]*" )) {
106164 logger .debug (source ); // $ hasTaintFlow
107165 } else {
0 commit comments