You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2011/03/30 13:43:44 UTC

svn commit: r1086911 - /maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java

Author: cstamas
Date: Wed Mar 30 11:43:43 2011
New Revision: 1086911

URL: http://svn.apache.org/viewvc?rev=1086911&view=rev
Log:
MINDEXER-20: fail fast on garbage input.

Modified:
    maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java

Modified: maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java
URL: http://svn.apache.org/viewvc/maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java?rev=1086911&r1=1086910&r2=1086911&view=diff
==============================================================================
--- maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java (original)
+++ maven/indexer/trunk/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java Wed Mar 30 11:43:43 2011
@@ -105,7 +105,13 @@ public class IndexDataReader
     public long readHeader()
         throws IOException
     {
-        dis.readByte(); // data format version
+        final byte HDRBYTE = (byte) ( ( IndexDataWriter.VERSION << 24 ) >> 24 );
+
+        if ( HDRBYTE != dis.readByte() )
+        {
+            // data format version mismatch
+            throw new IOException( "Provided input contains unexpected data (0x01 expected as 1st byte)!" );
+        }
 
         return dis.readLong();
     }