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(); } }
