Repository: incubator-gobblin
Updated Branches:
  refs/heads/master 88383014c -> b01ec9cc9


[GOBBLIN-501] Fix NPE thrown from read after EOF of 
LazyMaterializeDecryptorInputStream

Closes #2371 from zxcware/enc


Project: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/commit/b01ec9cc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/tree/b01ec9cc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/diff/b01ec9cc

Branch: refs/heads/master
Commit: b01ec9cc991c5a2dbe422ffc2e8f17d28be1a96a
Parents: 8838301
Author: zhchen <[email protected]>
Authored: Thu May 24 11:03:03 2018 -0700
Committer: Hung Tran <[email protected]>
Committed: Thu May 24 11:03:03 2018 -0700

----------------------------------------------------------------------
 .../main/java/org/apache/gobblin/crypto/GPGFileDecryptor.java    | 4 ++++
 .../java/org/apache/gobblin/crypto/GPGFileDecryptorTest.java     | 3 +++
 2 files changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/b01ec9cc/gobblin-modules/gobblin-crypto/src/main/java/org/apache/gobblin/crypto/GPGFileDecryptor.java
----------------------------------------------------------------------
diff --git 
a/gobblin-modules/gobblin-crypto/src/main/java/org/apache/gobblin/crypto/GPGFileDecryptor.java
 
b/gobblin-modules/gobblin-crypto/src/main/java/org/apache/gobblin/crypto/GPGFileDecryptor.java
index 399b3e8..4c673c7 100644
--- 
a/gobblin-modules/gobblin-crypto/src/main/java/org/apache/gobblin/crypto/GPGFileDecryptor.java
+++ 
b/gobblin-modules/gobblin-crypto/src/main/java/org/apache/gobblin/crypto/GPGFileDecryptor.java
@@ -178,6 +178,10 @@ public class GPGFileDecryptor {
     @Override
     public int read()
         throws IOException {
+      if (this.currentUnderlyingStream == null) {
+        return -1;
+      }
+
       int value = this.currentUnderlyingStream.read();
 
       if (value != -1) {

http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/b01ec9cc/gobblin-modules/gobblin-crypto/src/test/java/org/apache/gobblin/crypto/GPGFileDecryptorTest.java
----------------------------------------------------------------------
diff --git 
a/gobblin-modules/gobblin-crypto/src/test/java/org/apache/gobblin/crypto/GPGFileDecryptorTest.java
 
b/gobblin-modules/gobblin-crypto/src/test/java/org/apache/gobblin/crypto/GPGFileDecryptorTest.java
index 964bebb..05892fc 100644
--- 
a/gobblin-modules/gobblin-crypto/src/test/java/org/apache/gobblin/crypto/GPGFileDecryptorTest.java
+++ 
b/gobblin-modules/gobblin-crypto/src/test/java/org/apache/gobblin/crypto/GPGFileDecryptorTest.java
@@ -86,6 +86,9 @@ public class GPGFileDecryptorTest {
 
       Assert.assertEquals(bytesRead, 1041981183L);
 
+      // Make sure no error thrown if read again after reaching EOF
+      Assert.assertEquals(is.read(), -1);
+
       System.gc();
       System.gc();
       long endHeapSize = Runtime.getRuntime().totalMemory();

Reply via email to