[ https://issues.apache.org/jira/browse/LUCENE-8174?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Oliver Kaleske updated LUCENE-8174: ----------------------------------- Attachment: LUCENE-8174.patch > ArrayIndexOutOfBoundsException in IntRange.toString and its siblings > -------------------------------------------------------------------- > > Key: LUCENE-8174 > URL: https://issues.apache.org/jira/browse/LUCENE-8174 > Project: Lucene - Core > Issue Type: Bug > Components: core/index > Affects Versions: 7.2 > Reporter: Oliver Kaleske > Priority: Major > Attachments: LUCENE-8174.patch > > > The following code produces an ArrayIndexOutOfBoundsException: > {{ IntRange intRange = new IntRange("foo", new int[] \{ 1 }, new int[] > \{ 2 });}} > {{ System.out.println(intRange.toString());}} > The exception is thrown in NumericUtils.sortableBytesToInt, which is fed an > incorrect offset. > The bug appears to be in IntRange.toString. I guess the for loop should read > {{for (int d=0; d<type.pointDimensionCount()/2; ++d)}} > instead of > {{for (int d=1; d<type.pointDimensionCount(); ++d)}} > because the number of dimensions is half the number of "point dimensions" > (cf. the checks on the dimension parameter in getMin() and getMax()). > The same bug is found in the DoubleRange, FloatRange, and LongRange classes. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org