...
This noncompliant code example periodically loads a log file to into memory and allows clients to obtain keyword search suggestions by passing the keyword as an argument to suggestSearches()
.
...
Code Block | ||
---|---|---|
| ||
public class Keywords {
// ...
public static Set<String> suggestSearches(String search) {
synchronized(lock) {
Set<String> searches = new HashSet<String>();
StringBuilder sb = new StringBuilder(search.length());
for (int i = 0; i < search.length(); ++i) {
char ch = search.charAt(i);
if (Character.isLetterOrDigit(ch) ||
ch == ' ' ||
ch == '\'') {
sb.append(ch);
}
}
search = sb.toString();
// Construct regex dynamically from user string
String regex = "(" + search + ".*),[\\d]+?,[\\d]+?";
// ...
}
}
// ...
}
|
...