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



Reply via email to