Velmurugan Periasamy created RANGER-847:
-------------------------------------------

             Summary: Fix code scan issues
                 Key: RANGER-847
                 URL: https://issues.apache.org/jira/browse/RANGER-847
             Project: Ranger
          Issue Type: Bug
    Affects Versions: 0.6.0
            Reporter: Velmurugan Periasamy
            Assignee: Bolke de Bruin
             Fix For: 0.6.0


Coverity scan reports below issues. Need to be fixed.

{noformat} 
 CID 135584:    (FB.DM_DEFAULT_ENCODING)
/ugsync/src/main/java/org/apache/ranger/unixusersync/process/UnixUserGroupBuilder.java:
 179 in 
org.apache.ranger.unixusersync.process.UnixUserGroupBuilder.buildUnixUserList(java.lang.String)()
/ugsync/src/main/java/org/apache/ranger/unixusersync/process/UnixUserGroupBuilder.java:
 271 in 
org.apache.ranger.unixusersync.process.UnixUserGroupBuilder.buildUnixUserList(java.lang.String)()

/ugsync/src/main/java/org/apache/ranger/unixusersync/process/UnixUserGroupBuilder.java:
 179 in 
org.apache.ranger.unixusersync.process.UnixUserGroupBuilder.buildUnixUserList(java.lang.String)()
173             private void buildUnixUserList(String command) throws Throwable 
{
174                     BufferedReader reader = null;
175    
176                     if (!useNss) {
177                             File file = new File(UNIX_USER_PASSWORD_FILE);
178                             passwordFileModifiedAt = file.lastModified();
     CID 135584:    (FB.DM_DEFAULT_ENCODING)
     Found reliance on default encoding: new java.io.FileReader(File).
179                             reader = new BufferedReader(new 
FileReader(file)) ;
180                     } else {
181                             Process process = Runtime.getRuntime().exec(
182                                             new String[]{"bash", "-c", 
command});
183    
184                             reader = new BufferedReader(new 
InputStreamReader(process.getInputStream()));

/ugsync/src/main/java/org/apache/ranger/unixusersync/process/UnixUserGroupBuilder.java:
 271 in 
org.apache.ranger.unixusersync.process.UnixUserGroupBuilder.buildUnixUserList(java.lang.String)()
265    
266                                     // "id" is same across Linux / BSD / 
MacOSX
267                                     // gids are used as id might return 
groups with spaces, ie "domain users"
268                                     Process process = 
Runtime.getRuntime().exec(
269                                                     new String[]{"bash", 
"-c", "id -G " + entry.getKey()});
270    
     CID 135584:    (FB.DM_DEFAULT_ENCODING)
     Another occurrence here
271                                     reader = new BufferedReader(new 
InputStreamReader(process.getInputStream()));
272                                     line = reader.readLine();
273                                     reader.close();
274    
275                                     LOG.debug("id -G returned " + line);
276    
{noformat}


{noformat}
 CID 135583:    (FB.DM_DEFAULT_ENCODING)
/ugsync/src/main/java/org/apache/ranger/unixusersync/process/UnixUserGroupBuilder.java:
 349 in 
org.apache.ranger.unixusersync.process.UnixUserGroupBuilder.buildUnixGroupList(java.lang.String,
 java.lang.String, boolean)()
/ugsync/src/main/java/org/apache/ranger/unixusersync/process/UnixUserGroupBuilder.java:
 412 in 
org.apache.ranger.unixusersync.process.UnixUserGroupBuilder.buildUnixGroupList(java.lang.String,
 java.lang.String, boolean)()

/ugsync/src/main/java/org/apache/ranger/unixusersync/process/UnixUserGroupBuilder.java:
 349 in 
org.apache.ranger.unixusersync.process.UnixUserGroupBuilder.buildUnixGroupList(java.lang.String,
 java.lang.String, boolean)()
343                     LOG.debug("Start enumerating groups");
344                     BufferedReader reader;
345    
346                     if (!useNss) {
347                             File file = new File(UNIX_GROUP_FILE);
348                             groupFileModifiedAt = file.lastModified();
     CID 135583:    (FB.DM_DEFAULT_ENCODING)
     Found reliance on default encoding: new java.io.FileReader(File).
349                             reader = new BufferedReader(new 
FileReader(file)) ;
350                     } else {
351                             Process process = Runtime.getRuntime().exec(
352                                             new String[]{"bash", "-c", 
allGroupsCmd});
353                             reader = new BufferedReader(new 
InputStreamReader(process.getInputStream()));
354                     }

/ugsync/src/main/java/org/apache/ranger/unixusersync/process/UnixUserGroupBuilder.java:
 412 in 
org.apache.ranger.unixusersync.process.UnixUserGroupBuilder.buildUnixGroupList(java.lang.String,
 java.lang.String, boolean)()
406                             for (String group : groups) {
407                                     String command = 
String.format(groupCmd, group);
408                                     String[] cmd = new String[]{"bash", 
"-c", command + " '" + group + "'"};
409                                     LOG.debug("Executing: " + 
Arrays.toString(cmd));
410    
411                                     Process process = 
Runtime.getRuntime().exec(cmd);
     CID 135583:    (FB.DM_DEFAULT_ENCODING)
     Another occurrence here
412                                     reader = new BufferedReader(new 
InputStreamReader(process.getInputStream()));
413                                     line = reader.readLine();
414                                     reader.close();
415                                     LOG.debug("bash -c " + command + " for 
group " + group + " returned " + line);
416    
417                                     parseMembers(line);
{noformat}

{noformat}
 CID 135582:  Exceptional resource leaks  (RESOURCE_LEAK)
/ugsync/src/main/java/org/apache/ranger/unixusersync/process/UnixUserGroupBuilder.java:
 358 in 
org.apache.ranger.unixusersync.process.UnixUserGroupBuilder.buildUnixGroupList(java.lang.String,
 java.lang.String, boolean)()
352                                             new String[]{"bash", "-c", 
allGroupsCmd});
353                             reader = new BufferedReader(new 
InputStreamReader(process.getInputStream()));
354                     }
355    
356                     String line = null;
357    
     CID 135582:  Exceptional resource leaks  (RESOURCE_LEAK)
     Variable "reader" going out of scope leaks the resource it refers to.
358                     while ((line = reader.readLine()) != null) {
359                             if (line.trim().isEmpty())
360                                     continue;
361    
362                             parseMembers(line);
363                     }
{noformat}

{noformat}
 CID 135581:  Exceptional resource leaks  (RESOURCE_LEAK)
/ugsync/src/main/java/org/apache/ranger/unixusersync/process/UnixUserGroupBuilder.java:
 190 in 
org.apache.ranger.unixusersync.process.UnixUserGroupBuilder.buildUnixUserList(java.lang.String)()

184                             reader = new BufferedReader(new 
InputStreamReader(process.getInputStream()));
185                     }
186    
187                     String line = null;
188                     Map<String,String> userName2uid = new 
HashMap<String,String>();
189    
     CID 135581:  Exceptional resource leaks  (RESOURCE_LEAK)
     Variable "reader" going out of scope leaks the resource it refers to.
190                     while ((line = reader.readLine()) != null) {
191                             if (line.trim().isEmpty())
192                                     continue;
193    
194                             String[] tokens = line.split(":");
195    
{noformat}

{noformat}
 CID 135579:  Null pointer dereferences  (NULL_RETURNS)
/ugsync/src/main/java/org/apache/ranger/unixusersync/process/UnixUserGroupBuilder.java:
 277 in 
org.apache.ranger.unixusersync.process.UnixUserGroupBuilder.buildUnixUserList(java.lang.String)()
271                                     reader = new BufferedReader(new 
InputStreamReader(process.getInputStream()));
272                                     line = reader.readLine();
273                                     reader.close();
274    
275                                     LOG.debug("id -G returned " + line);
276    
     CID 135579:  Null pointer dereferences  (NULL_RETURNS)
     Calling a method on null object "line".
277                                     if (line.trim().isEmpty()) {
278                                             LOG.warn("User " + 
entry.getKey() + " could not be resolved");
279                                             continue;
280                                     }
281    
282                                     String[] gids = line.split(" ");
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to