Repository: incubator-ranger Updated Branches: refs/heads/master b16ac8a3a -> d586d08e4
RANGER-773 : Fix newly found Coverity scan issues for Ranger KMS Signed-off-by: Velmurugan Periasamy <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/d586d08e Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/d586d08e Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/d586d08e Branch: refs/heads/master Commit: d586d08e4329c0a41cbe27b1a5efbae0515651e6 Parents: b16ac8a Author: Gautam Borad <[email protected]> Authored: Wed Dec 9 11:10:16 2015 +0530 Committer: Velmurugan Periasamy <[email protected]> Committed: Wed Dec 9 14:20:51 2015 -0500 ---------------------------------------------------------------------- .../hadoop/crypto/key/Ranger2JKSUtil.java | 5 ++++- .../hadoop/crypto/key/RangerKeyStore.java | 23 +++++++++++++------- 2 files changed, 19 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d586d08e/kms/src/main/java/org/apache/hadoop/crypto/key/Ranger2JKSUtil.java ---------------------------------------------------------------------- diff --git a/kms/src/main/java/org/apache/hadoop/crypto/key/Ranger2JKSUtil.java b/kms/src/main/java/org/apache/hadoop/crypto/key/Ranger2JKSUtil.java index 0def5e5..e1ba611 100644 --- a/kms/src/main/java/org/apache/hadoop/crypto/key/Ranger2JKSUtil.java +++ b/kms/src/main/java/org/apache/hadoop/crypto/key/Ranger2JKSUtil.java @@ -51,7 +51,10 @@ public class Ranger2JKSUtil { String keyStoreFileName = args[0] ; File f = new File(keyStoreFileName) ; if (! f.exists()) { - f.createNewFile(); + boolean ret = f.createNewFile(); + if (!ret) { + System.err.println("Error creating new keystore file. fileName="+ args[0]); + } } String keyStoreType = (args.length == 2 ? args[1] : DEFAULT_KEYSTORE_TYPE) ; try { http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/d586d08e/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStore.java ---------------------------------------------------------------------- diff --git a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStore.java b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStore.java index 850104f..abfab25 100644 --- a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStore.java +++ b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKeyStore.java @@ -138,9 +138,9 @@ public class RangerKeyStore extends KeyStoreSpi { public void addKeyEntry(String alias, Key key, char[] password, String cipher, int bitLength, String description, int version, String attributes) throws KeyStoreException { + SecretKeyEntry entry = new SecretKeyEntry(); synchronized(deltaEntries) { - try { - + try { Class<?> c = null; Object o = null; try { @@ -152,8 +152,6 @@ public class RangerKeyStore extends KeyStoreSpi { logger.error(e.getMessage()); throw new KeyStoreException(e.getMessage()); } - - SecretKeyEntry entry = new SecretKeyEntry(); entry.date = new Date(); // seal and store the key Method m = c.getDeclaredMethod("seal", Key.class); @@ -165,13 +163,20 @@ public class RangerKeyStore extends KeyStoreSpi { entry.description = description; entry.version = version; entry.attributes = attributes; - deltaEntries.put(alias.toLowerCase(), entry); - keyEntries.put(alias.toLowerCase(), entry); + deltaEntries.put(alias.toLowerCase(), entry); } catch (Exception e) { logger.error(e.getMessage()); throw new KeyStoreException(e.getMessage()); } } + synchronized(keyEntries) { + try { + keyEntries.put(alias.toLowerCase(), entry); + }catch (Exception e) { + logger.error(e.getMessage()); + throw new KeyStoreException(e.getMessage()); + } + } } @Override @@ -180,8 +185,10 @@ public class RangerKeyStore extends KeyStoreSpi { { synchronized(keyEntries) { dbOperationDelete(convertAlias(alias)); - keyEntries.remove(convertAlias(alias)); - deltaEntries.remove(convertAlias(alias)); + keyEntries.remove(convertAlias(alias)); + } + synchronized(deltaEntries) { + deltaEntries.remove(convertAlias(alias)); } }
