Index: lucene/src/java/org/apache/lucene/store/BufferedIndexInput.java =================================================================== --- lucene/src/java/org/apache/lucene/store/BufferedIndexInput.java (revision 1238498) +++ lucene/src/java/org/apache/lucene/store/BufferedIndexInput.java (working copy) @@ -212,7 +212,7 @@ @Override public long readVLong() throws IOException { - if (9 <= bufferLength-bufferPosition) { + if (10 <= bufferLength-bufferPosition) { byte b = buffer[bufferPosition++]; long i = b & 0x7F; for (int shift = 7; (b & 0x80) != 0; shift += 7) { Index: lucene/src/java/org/apache/lucene/store/DataInput.java =================================================================== --- lucene/src/java/org/apache/lucene/store/DataInput.java (revision 1238498) +++ lucene/src/java/org/apache/lucene/store/DataInput.java (working copy) @@ -157,8 +157,11 @@ i |= (b & 0x7FL) << 49; if ((b & 0x80) == 0) return i; b = readByte(); + i |= (b & 0x7FL) << 56; + if ((b & 0x80) == 0) return i; + b = readByte(); assert (b & 0x80) == 0; - return i | ((b & 0x7FL) << 56); + return i | ((b & 0x7FL) << 63); } /** Reads a string.