You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2012/06/06 18:58:46 UTC

svn commit: r1346983 - in /lucene/dev/trunk/lucene: CHANGES.txt core/src/java/org/apache/lucene/codecs/lucene40/values/FixedDerefBytesImpl.java core/src/java/org/apache/lucene/codecs/lucene40/values/FixedStraightBytesImpl.java

Author: mikemccand
Date: Wed Jun  6 16:58:45 2012
New Revision: 1346983

URL: http://svn.apache.org/viewvc?rev=1346983&view=rev
Log:
LUCENE-4114: fix int overflow bugs

Modified:
    lucene/dev/trunk/lucene/CHANGES.txt
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/FixedDerefBytesImpl.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/FixedStraightBytesImpl.java

Modified: lucene/dev/trunk/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/CHANGES.txt?rev=1346983&r1=1346982&r2=1346983&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/CHANGES.txt (original)
+++ lucene/dev/trunk/lucene/CHANGES.txt Wed Jun  6 16:58:45 2012
@@ -1029,6 +1029,9 @@ Bug fixes
 * LUCENE-4077: Expose the max score and per-group scores from
   ToParentBlockJoinCollector (Christoph Kaser, Mike McCandless)
 
+* LUCENE-4114: Fix int overflow bugs in BYTES_FIXED_STRAIGHT and
+  BYTES_FIXED_DEREF doc values implementations (Walt Elder via Mike McCandless).
+
 Documentation
 
 * LUCENE-3958: Javadocs corrections for IndexWriter.

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/FixedDerefBytesImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/FixedDerefBytesImpl.java?rev=1346983&r1=1346982&r2=1346983&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/FixedDerefBytesImpl.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/FixedDerefBytesImpl.java Wed Jun  6 16:58:45 2012
@@ -109,8 +109,7 @@ class FixedDerefBytesImpl {
 
     @Override
     public BytesRef getBytes(int docID, BytesRef bytesRef) {
-      final int id = (int) addresses.get(docID);
-      return data.fillSlice(bytesRef, (id * size), size);
+      return data.fillSlice(bytesRef, addresses.get(docID) * size, size);
     }
 
   }

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/FixedStraightBytesImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/FixedStraightBytesImpl.java?rev=1346983&r1=1346982&r2=1346983&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/FixedStraightBytesImpl.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/lucene40/values/FixedStraightBytesImpl.java Wed Jun  6 16:58:45 2012
@@ -342,7 +342,7 @@ class FixedStraightBytesImpl {
 
     @Override
     public BytesRef getBytes(int docID, BytesRef bytesRef) {
-      return data.fillSlice(bytesRef, docID * size, size);
+      return data.fillSlice(bytesRef, size * ((long) docID), size);
     }
   }
   
@@ -356,7 +356,7 @@ class FixedStraightBytesImpl {
 
     @Override
     protected int position(int docID) throws IOException {
-      data.seek(baseOffset + size * docID);
+      data.seek(baseOffset + size * ((long) docID));
       return size;
     }