Author: bodewig
Date: Fri Feb 13 19:12:09 2015
New Revision: 1659649
URL: http://svn.apache.org/r1659649
Log:
python tarfile library seems to create embedded NULs, COMPRESS-301, unit test
to follow
Modified:
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/tar/TarUtilsTest.java
commons/proper/compress/trunk/src/test/resources/COMPRESS-178.tar
Modified:
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java
URL:
http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java?rev=1659649&r1=1659648&r2=1659649&view=diff
==============================================================================
---
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java
(original)
+++
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java
Fri Feb 13 19:12:09 2015
@@ -132,6 +132,11 @@ public class TarUtils {
for ( ;start < end; start++) {
final byte currentByte = buffer[start];
+ if (currentByte == 0) {
+ // some archivers don't pad the whole field but just insert a
NUL
+ // COMPRESS-301
+ break;
+ }
// CheckStyle:MagicNumber OFF
if (currentByte < '0' || currentByte > '7'){
throw new IllegalArgumentException(
Modified:
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/tar/TarUtilsTest.java
URL:
http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/tar/TarUtilsTest.java?rev=1659649&r1=1659648&r2=1659649&view=diff
==============================================================================
---
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/tar/TarUtilsTest.java
(original)
+++
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/tar/TarUtilsTest.java
Fri Feb 13 19:12:09 2015
@@ -95,12 +95,6 @@ public class TarUtilsTest extends TestCa
fail("Expected IllegalArgumentException - embedded space");
} catch (IllegalArgumentException expected) {
}
- buffer = " 0\00007 ".getBytes(CharsetNames.UTF_8); // Invalid -
embedded NUL
- try {
- TarUtils.parseOctal(buffer,0, buffer.length);
- fail("Expected IllegalArgumentException - embedded NUL");
- } catch (IllegalArgumentException expected) {
- }
}
private void checkRoundTripOctal(final long value, final int bufsize) {
Modified: commons/proper/compress/trunk/src/test/resources/COMPRESS-178.tar
URL:
http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/test/resources/COMPRESS-178.tar?rev=1659649&r1=1659648&r2=1659649&view=diff
==============================================================================
Binary files - no diff available.