Skip to content

Commit 443fd1c

Browse files
committed
Broadening regex escape rules
1 parent 19f7c06 commit 443fd1c

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

src/main/java/picoded/dstack/mongodb/MongoDB_DataObjectMap.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -364,8 +364,13 @@ static protected Bson queryObjToBsonFilter(Query inQuery) {
364364
// we will generates its REGEX equivalent
365365
String val = GenericConvert.toString(inQuery.defaultArgumentValue());
366366

367-
// val = val.replaceAll("*", "*");
368-
val = val.replaceAll("\\*", "\\*");
367+
// Escaping special regex characters
368+
final String regexSpecialCharacters = ".+*?^$()[]{}|\\";
369+
for(int i=0; i<regexSpecialCharacters.length(); ++i) {
370+
val = val.replaceAll("\\"+regexSpecialCharacters.charAt(i), "\\"+regexSpecialCharacters.charAt(i));
371+
}
372+
373+
// Replacing SQL syntax
369374
val = val.replaceAll("\\%", ".*");
370375
val = val.replaceAll("\\_", ".");
371376

0 commit comments

Comments
 (0)