Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
6.3
-
None
-
None
Description
With "lucene-queryparser-6.3.0", specifically in
"org/apache/lucene/queryparser/flexible/standard/parser/EscapeQuerySyntaxImpl.java"
when escaping strings containing extended unicode chars, and with a locale distinct from that of the character set the string uses, the process fails, with a "java.lang.StringIndexOutOfBoundsException".
The reason is that the comparison is done by previously converting all of the characters of the string to lower case chars, and by doing this, the original string size isn't anymore the same, but less, as of the transformed one, so that executing
org/apache/lucene/queryparser/flexible/standard/parser/EscapeQuerySyntaxImpl.java:89
fails with a java.lang.StringIndexOutOfBoundsException.
I wonder whether the transformation to lower case is really needed when treating the escape chars, since by avoiding it, the error may be avoided.