COMPRESS-344 accept NUL as terminator for GNU extended names
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index d9929f6..8efd3d3 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -44,6 +44,10 @@
<body>
<release version="1.11" date="not released, yet"
description="Release 1.11">
+ <action issue="COMPRESS-344" type="fix" date="2016-03-22">
+ ArArchiveInputStream can now read GNU extended names that are
+ terminated with a NUL byte rather than a linefeed.
+ </action>
<action issue="COMPRESS-341" type="add" date="2016-03-20">
New method SevenZFile.getEntries can be used to list the
contents of a 7z archive.
diff --git a/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java b/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java
index 79bcceb..6298bc3 100644
--- a/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java
+++ b/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java
@@ -177,7 +177,7 @@
throw new IOException("Cannot process GNU long filename as no // record was found");
}
for(int i=offset; i < namebuffer.length; i++){
- if (namebuffer[i]=='\012'){
+ if (namebuffer[i] == '\012' || namebuffer[i] == 0){
if (namebuffer[i-1]=='/') {
i--; // drop trailing /
}