Hi Hugo, I have created a separate review request based on current master.
The review request is: https://reviews.apache.org/r/24111/ Thanks & Regards, Ritu S. From: Trippie [mailto:trip...@gmail.com] On Behalf Of Hugo Trippaers Sent: Tuesday, July 29, 2014 11:09 PM To: Ritu Sabharwal Cc: <dev@cloudstack.apache.org>; Santhosh Edukulla Subject: Re: New Defects reported by Coverity Scan for cloudstack Hey Ritu, Thanks! Could you post the patch as a separate review? That way it will be a lot easier for me to merge the changes. The easiest way to do it is to base the new patch on the current state of the master branch. Cheers, Hugo On 29 jul. 2014, at 22:32, Ritu Sabharwal <rsabh...@brocade.com<mailto:rsabh...@brocade.com>> wrote: Hi Hugo, I have fixed the reported findings and posted the patch on review board. Thanks & Regards, Ritu S. From: Trippie [mailto:trip...@gmail.com] On Behalf Of Hugo Trippaers Sent: Tuesday, July 29, 2014 6:41 AM To: Ritu Sabharwal Cc: <dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>>; Santhosh Edukulla Subject: Fwd: New Defects reported by Coverity Scan for cloudstack Ritu, Coverity identified a number of issues with the brocade plugin. Could you have a look at them and post the fixes on the review board? If you need additional details on the findings you can request coverity access here : https://scan.coverity.com/projects/943 Cheers, Hugo Begin forwarded message: From: scan-ad...@coverity.com<mailto:scan-ad...@coverity.com> Subject: New Defects reported by Coverity Scan for cloudstack Date: 29 juli 2014 15:22:48 CEST Hi, Please find the latest report on new defect(s) introduced to cloudstack found with Coverity Scan. Defect(s) Reported-by: Coverity Scan Showing 7 of 7 defect(s) ** CID 1229114: Resource leak (RESOURCE_LEAK) /plugins/network-elements/brocade-vcs/src/com/cloud/network/brocade/BrocadeVcsApi.java: 509 in com.cloud.network.brocade.BrocadeVcsApi.responseToErrorMessage(org.apache.http.HttpResponse)() /plugins/network-elements/brocade-vcs/src/com/cloud/network/brocade/BrocadeVcsApi.java: 513 in com.cloud.network.brocade.BrocadeVcsApi.responseToErrorMessage(org.apache.http.HttpResponse)() ** CID 1229113: Resource leak (RESOURCE_LEAK) /plugins/network-elements/brocade-vcs/src/com/cloud/network/brocade/BrocadeVcsApi.java: 457 in com.cloud.network.brocade.BrocadeVcsApi.executeRetreiveStatus(java.lang.String)() ** CID 1229115: Dereference before null check (REVERSE_INULL) /plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java: 6299 in com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.execute(com.cloud.agent.api.CreateVMSnapshotCommand)() ** CID 1229121: UrF: Unread field (FB.URF_UNREAD_FIELD) /plugins/network-elements/brocade-vcs/src/com/cloud/api/response/BrocadeVcsDeviceResponse.java: 67 in () /plugins/network-elements/brocade-vcs/src/com/cloud/api/response/BrocadeVcsDeviceResponse.java: 71 in () /plugins/network-elements/brocade-vcs/src/com/cloud/api/response/BrocadeVcsDeviceResponse.java: 55 in () /plugins/network-elements/brocade-vcs/src/com/cloud/api/response/BrocadeVcsDeviceResponse.java: 59 in () /plugins/network-elements/brocade-vcs/src/com/cloud/api/response/BrocadeVcsDeviceResponse.java: 63 in () ** CID 1229120: WMI: Inefficient Map Iterator (FB.WMI_WRONG_MAP_ITERATOR) /engine/schema/src/com/cloud/capacity/dao/CapacityDaoImpl.java: 478 in com.cloud.capacity.dao.CapacityDaoImpl.findCapacityBy(java.lang.Integer, java.lang.Long, java.lang.Long, java.lang.Long)() ** CID 1229119: DLS: Dead local store (FB.DLS_DEAD_LOCAL_STORE) /plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java: 4438 in com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.initialize()() ** CID 1229116: REC: RuntimeException capture (FB.REC_CATCH_EXCEPTION) /engine/schema/src/com/cloud/storage/dao/VMTemplatePoolDaoImpl.java: 189 in com.cloud.storage.dao.VMTemplatePoolDaoImpl.listByTemplateStatus(long, long, long, com.cloud.storage.VMTemplateStorageResourceAssoc$Status)() ________________________________________________________________________________________________________ *** CID 1229114: Resource leak (RESOURCE_LEAK) /plugins/network-elements/brocade-vcs/src/com/cloud/network/brocade/BrocadeVcsApi.java: 509 in com.cloud.network.brocade.BrocadeVcsApi.responseToErrorMessage(org.apache.http.HttpResponse)() 503 try { 504 505 BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), Charset.forName("UTF-8"))); 506 507 StringBuffer result = new StringBuffer(); 508 String line = ""; CID 1229114: Resource leak (RESOURCE_LEAK) Variable "rd" going out of scope leaks the resource it refers to. 509 while ((line = rd.readLine()) != null) { 510 result.append(line); 511 } 512 513 return result.toString(); 514 } catch (IOException e) { /plugins/network-elements/brocade-vcs/src/com/cloud/network/brocade/BrocadeVcsApi.java: 513 in com.cloud.network.brocade.BrocadeVcsApi.responseToErrorMessage(org.apache.http.HttpResponse)() 507 StringBuffer result = new StringBuffer(); 508 String line = ""; 509 while ((line = rd.readLine()) != null) { 510 result.append(line); 511 } 512 CID 1229114: Resource leak (RESOURCE_LEAK) Variable "rd" going out of scope leaks the resource it refers to. 513 return result.toString(); 514 } catch (IOException e) { 515 s_logger.debug("Error while loading response body", e); 516 } 517 } 518 return null; 519 } 520 ________________________________________________________________________________________________________ *** CID 1229113: Resource leak (RESOURCE_LEAK) /plugins/network-elements/brocade-vcs/src/com/cloud/network/brocade/BrocadeVcsApi.java: 457 in com.cloud.network.brocade.BrocadeVcsApi.executeRetreiveStatus(java.lang.String)() 451 s_logger.error("Failed to get object : " + e.getMessage()); 452 throw new BrocadeVcsApiException("Failed to get object : " + e.getMessage()); 453 } 454 455 pm.releaseConnection(); 456 CID 1229113: Resource leak (RESOURCE_LEAK) Variable "br" going out of scope leaks the resource it refers to. 457 return convertToXML(sb.toString()); 458 } 459 460 protected void executeDeleteObject(String uri) throws BrocadeVcsApiException { 461 if (_host == null || _host.isEmpty() || _adminuser == null || _adminuser.isEmpty() || _adminpass == null || _adminpass.isEmpty()) { 462 throw new BrocadeVcsApiException("Hostname/credentials are null or empty"); ________________________________________________________________________________________________________ *** CID 1229115: Dereference before null check (REVERSE_INULL) /plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java: 6299 in com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.execute(com.cloud.agent.api.CreateVMSnapshotCommand)() 6293 } catch (Exception e) { 6294 if (!snapshotMemory) { 6295 vm = createWorkingVM(conn, vmName, guestOSType, platformEmulator, listVolumeTo); 6296 } 6297 } 6298 CID 1229115: Dereference before null check (REVERSE_INULL) Null-checking "vm" suggests that it may be null, but it has already been dereferenced on all paths leading to the check. 6299 if (vm == null) { 6300 return new CreateVMSnapshotAnswer(cmd, false, "Creating VM Snapshot Failed due to can not find vm: " + vmName); 6301 } 6302 6303 // call Xenserver API 6304 if (!snapshotMemory) { ________________________________________________________________________________________________________ *** CID 1229121: UrF: Unread field (FB.URF_UNREAD_FIELD) /plugins/network-elements/brocade-vcs/src/com/cloud/api/response/BrocadeVcsDeviceResponse.java: 67 in () 61 62 public void setProviderName(final String providerName) { 63 this.providerName = providerName; 64 } 65 66 public void setDeviceName(final String deviceName) { CID 1229121: UrF: Unread field (FB.URF_UNREAD_FIELD) Unread field: com.cloud.api.response.BrocadeVcsDeviceResponse.deviceName 67 this.deviceName = deviceName; 68 } 69 70 public void setHostName(final String hostName) { 71 this.hostName = hostName; 72 } 73 /plugins/network-elements/brocade-vcs/src/com/cloud/api/response/BrocadeVcsDeviceResponse.java: 71 in () 65 66 public void setDeviceName(final String deviceName) { 67 this.deviceName = deviceName; 68 } 69 70 public void setHostName(final String hostName) { CID 1229121: UrF: Unread field (FB.URF_UNREAD_FIELD) Unread field: com.cloud.api.response.BrocadeVcsDeviceResponse.hostName 71 this.hostName = hostName; 72 } 73 /plugins/network-elements/brocade-vcs/src/com/cloud/api/response/BrocadeVcsDeviceResponse.java: 55 in () 49 50 @SerializedName(ApiConstants.HOST_NAME) 51 @Param(description = "the principal switch Ip address") 52 private String hostName; 53 54 public void setId(String vcsDeviceId) { CID 1229121: UrF: Unread field (FB.URF_UNREAD_FIELD) Unread field: com.cloud.api.response.BrocadeVcsDeviceResponse.id 55 this.id = vcsDeviceId; 56 } 57 58 public void setPhysicalNetworkId(final String physicalNetworkId) { 59 this.physicalNetworkId = physicalNetworkId; 60 } /plugins/network-elements/brocade-vcs/src/com/cloud/api/response/BrocadeVcsDeviceResponse.java: 59 in () 53 54 public void setId(String vcsDeviceId) { 55 this.id = vcsDeviceId; 56 } 57 58 public void setPhysicalNetworkId(final String physicalNetworkId) { CID 1229121: UrF: Unread field (FB.URF_UNREAD_FIELD) Unread field: com.cloud.api.response.BrocadeVcsDeviceResponse.physicalNetworkId 59 this.physicalNetworkId = physicalNetworkId; 60 } 61 62 public void setProviderName(final String providerName) { 63 this.providerName = providerName; 64 } /plugins/network-elements/brocade-vcs/src/com/cloud/api/response/BrocadeVcsDeviceResponse.java: 63 in () 57 58 public void setPhysicalNetworkId(final String physicalNetworkId) { 59 this.physicalNetworkId = physicalNetworkId; 60 } 61 62 public void setProviderName(final String providerName) { CID 1229121: UrF: Unread field (FB.URF_UNREAD_FIELD) Unread field: com.cloud.api.response.BrocadeVcsDeviceResponse.providerName 63 this.providerName = providerName; 64 } 65 66 public void setDeviceName(final String deviceName) { 67 this.deviceName = deviceName; 68 } ________________________________________________________________________________________________________ *** CID 1229120: WMI: Inefficient Map Iterator (FB.WMI_WRONG_MAP_ITERATOR) /engine/schema/src/com/cloud/capacity/dao/CapacityDaoImpl.java: 478 in com.cloud.capacity.dao.CapacityDaoImpl.findCapacityBy(java.lang.Integer, java.lang.Long, java.lang.Long, java.lang.Long)() 472 tempCapacity = capacityMap.get(key); 473 tempCapacity.setPodId(podId); 474 tempCapacity.setClusterId(clusterId); 475 } 476 List<SummedCapacity> summedCapacityList = new ArrayList<SummedCapacity>(); 477 for (String key : capacityMap.keySet()) { CID 1229120: WMI: Inefficient Map Iterator (FB.WMI_WRONG_MAP_ITERATOR) com.cloud.capacity.dao.CapacityDaoImpl.findCapacityBy(Integer, Long, Long, Long) makes inefficient use of keySet iterator instead of entrySet iterator 478 summedCapacityList.add(capacityMap.get(key)); 479 } 480 return summedCapacityList; 481 } catch (SQLException e) { 482 throw new CloudRuntimeException("DB Exception on: " + sql, e); 483 } catch (Throwable e) { ________________________________________________________________________________________________________ *** CID 1229119: DLS: Dead local store (FB.DLS_DEAD_LOCAL_STORE) /plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/CitrixResourceBase.java: 4438 in com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.initialize()() 4432 4433 Pool pool; 4434 try { 4435 pool = Pool.getByUuid(conn, _host.pool); 4436 Pool.Record poolr = pool.getRecord(conn); 4437 CID 1229119: DLS: Dead local store (FB.DLS_DEAD_LOCAL_STORE) Dead store to hostr 4438 Host.Record hostr = poolr.master.getRecord(conn); 4439 } catch (Throwable e) { 4440 s_logger.warn("Check for master failed, failing the FULL Cluster sync command"); 4441 } 4442 4443 StartupStorageCommand sscmd = initializeLocalSR(conn); ________________________________________________________________________________________________________ *** CID 1229116: REC: RuntimeException capture (FB.REC_CATCH_EXCEPTION) /engine/schema/src/com/cloud/storage/dao/VMTemplatePoolDaoImpl.java: 189 in com.cloud.storage.dao.VMTemplatePoolDaoImpl.listByTemplateStatus(long, long, long, com.cloud.storage.VMTemplateStorageResourceAssoc$Status)() 183 long id = rs.getLong(1); // ID column 184 result.add(findById(id)); 185 } 186 }catch (Exception e) { 187 s_logger.warn("Exception: ", e); 188 } CID 1229116: REC: RuntimeException capture (FB.REC_CATCH_EXCEPTION) Catching RuntimeExceptions, perhaps unintentionally, with a catch block for Exception 189 } catch (Exception e) { 190 s_logger.warn("Exception: ", e); 191 } 192 return result; 193 194 } ________________________________________________________________________________________________________ To view the defects in Coverity Scan visit, http://scan.coverity.com/projects/943?tab=overview To unsubscribe from the email notification for new defects,http://scan5.coverity.com/cgi-bin/unsubscribe.py