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

Reply via email to