Repository: commons-crypto
Updated Branches:
  refs/heads/master ff3971772 -> 0fa9f0a20


CRYPTO-61: fix possible NPE if OpensslCryptoRandomNative.nextRandBytes fails


Project: http://git-wip-us.apache.org/repos/asf/commons-crypto/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-crypto/commit/46f2dfce
Tree: http://git-wip-us.apache.org/repos/asf/commons-crypto/tree/46f2dfce
Diff: http://git-wip-us.apache.org/repos/asf/commons-crypto/diff/46f2dfce

Branch: refs/heads/master
Commit: 46f2dfce52847349acf6f84dfe02a77868f5f449
Parents: ff39717
Author: Hendrik Saly <[email protected]>
Authored: Wed May 25 20:48:20 2016 +0200
Committer: Sun Dapeng <[email protected]>
Committed: Mon Jun 6 11:41:13 2016 +0800

----------------------------------------------------------------------
 .../apache/commons/crypto/random/OpensslCryptoRandom.java | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/46f2dfce/src/main/java/org/apache/commons/crypto/random/OpensslCryptoRandom.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/crypto/random/OpensslCryptoRandom.java 
b/src/main/java/org/apache/commons/crypto/random/OpensslCryptoRandom.java
index 3adb9b6..1813624 100644
--- a/src/main/java/org/apache/commons/crypto/random/OpensslCryptoRandom.java
+++ b/src/main/java/org/apache/commons/crypto/random/OpensslCryptoRandom.java
@@ -84,11 +84,9 @@ public class OpensslCryptoRandom extends Random implements 
CryptoRandom {
      */
     public OpensslCryptoRandom(Properties props)
             throws NoSuchAlgorithmException {
-        if (!nativeEnabled) {
-            fallback = new JavaCryptoRandom(props);
-        } else {
-            fallback = null;
-        }
+        //fallback needs to be initialized here in any case cause even if
+        //nativeEnabled is true OpensslCryptoRandomNative.nextRandBytes may 
fail
+        fallback = new JavaCryptoRandom(props);
     }
 
     /**
@@ -145,7 +143,7 @@ public class OpensslCryptoRandom extends Random implements 
CryptoRandom {
      */
     @Override
     public void close() {
-        if (!nativeEnabled && fallback != null) {
+        if (fallback != null) {
             fallback.close();
         }
     }

Reply via email to