Author: jukka
Date: Wed Feb 19 14:44:29 2014
New Revision: 1569770
URL: http://svn.apache.org/r1569770
Log:
OAK-1409: After crash, segment persistence is broken with failures in java.nio
classes
Truncate the tar file if an invalid entry is found.
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFile.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFile.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFile.java?rev=1569770&r1=1569769&r2=1569770&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFile.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/segment/file/TarFile.java
Wed Feb 19 14:44:29 2014
@@ -81,6 +81,8 @@ class TarFile {
if (name.isEmpty() && size == 0) {
break; // no more entries in this file
+ } else if (position + BLOCK_SIZE + size > len) {
+ break; // invalid entry, truncate the file at this point
}
try {