cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hugo Trippaers <h...@apache.org>
Subject Fwd: New Defects reported by Coverity Scan for cloudstack
Date Tue, 29 Jul 2014 13:41:01 GMT
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-admin@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
> 
> 
> 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message