You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2018/12/11 15:06:31 UTC

[tika] branch master updated: TIKA-2637 -- ParsingReader should return -1 for a zero byte file

This is an automated email from the ASF dual-hosted git repository.

tallison pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/master by this push:
     new 614190b  TIKA-2637 -- ParsingReader should return -1 for a zero byte file
614190b is described below

commit 614190be65477afd956ce091dbe19eb5a8f51ade
Author: TALLISON <ta...@apache.org>
AuthorDate: Tue Dec 11 10:05:10 2018 -0500

    TIKA-2637 -- ParsingReader should return -1 for a zero byte file
---
 tika-core/src/main/java/org/apache/tika/parser/ParsingReader.java   | 5 ++++-
 .../src/test/java/org/apache/tika/parser/ParsingReaderTest.java     | 6 ++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/tika-core/src/main/java/org/apache/tika/parser/ParsingReader.java b/tika-core/src/main/java/org/apache/tika/parser/ParsingReader.java
index 111128e..d7d8b9e 100644
--- a/tika-core/src/main/java/org/apache/tika/parser/ParsingReader.java
+++ b/tika-core/src/main/java/org/apache/tika/parser/ParsingReader.java
@@ -30,6 +30,7 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.concurrent.Executor;
 
+import org.apache.tika.exception.ZeroByteFileException;
 import org.apache.tika.metadata.Metadata;
 import org.apache.tika.metadata.TikaCoreProperties;
 import org.apache.tika.sax.BodyContentHandler;
@@ -269,7 +270,9 @@ public class ParsingReader extends Reader {
      */
     @Override
     public int read(char[] cbuf, int off, int len) throws IOException {
-        if (throwable instanceof IOException) {
+        if (throwable instanceof ZeroByteFileException) {
+            return -1;
+        } else if (throwable instanceof IOException) {
             throw (IOException) throwable;
         } else if (throwable != null) {
             IOException exception = new IOException("");
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/ParsingReaderTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/ParsingReaderTest.java
index 2fcd1c3..6caf4d8 100644
--- a/tika-parsers/src/test/java/org/apache/tika/parser/ParsingReaderTest.java
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/ParsingReaderTest.java
@@ -101,4 +101,10 @@ public class ParsingReaderTest {
         }
     }
 
+    @Test
+    public void testZeroByte() throws Exception {
+        InputStream is = new ByteArrayInputStream(new byte[0]);
+        ParsingReader r = new ParsingReader(is);
+        assertEquals(-1, r.read());
+    }
 }