Thank you Mike! On Sat, Feb 28, 2015 at 10:26 AM, <[email protected]> wrote: > Author: mikemccand > Date: Sat Feb 28 15:26:35 2015 > New Revision: 1662948 > > URL: http://svn.apache.org/r1662948 > Log: > make SimpleText's checkIntegrity more robust so it's not fooled if you index > the string END > > Modified: > > lucene/dev/trunk/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesReader.java > > Modified: > lucene/dev/trunk/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesReader.java > URL: > http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesReader.java?rev=1662948&r1=1662947&r2=1662948&view=diff > ============================================================================== > --- > lucene/dev/trunk/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesReader.java > (original) > +++ > lucene/dev/trunk/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDocValuesReader.java > Sat Feb 28 15:26:35 2015 > @@ -520,10 +520,16 @@ class SimpleTextDocValuesReader extends > BytesRefBuilder scratch = new BytesRefBuilder(); > IndexInput clone = data.clone(); > clone.seek(0); > + // checksum is fixed-width encoded with 20 bytes, plus 1 byte for > newline (the space is included in SimpleTextUtil.CHECKSUM): > + long footerStartPos = data.length() - (SimpleTextUtil.CHECKSUM.length + > 21); > ChecksumIndexInput input = new BufferedChecksumIndexInput(clone); > - while(true) { > + while (true) { > SimpleTextUtil.readLine(input, scratch); > - if (scratch.get().equals(END)) { > + if (input.getFilePointer() >= footerStartPos) { > + // Make sure we landed at precisely the right location: > + if (input.getFilePointer() != footerStartPos) { > + throw new CorruptIndexException("SimpleText failure: footer does > not start at expected position current=" + input.getFilePointer() + " vs > expected=" + footerStartPos, input); > + } > SimpleTextUtil.checkFooter(input); > break; > } > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
