cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-10356) Fix Some Potential NPE
Date Thu, 26 Apr 2018 13:04:00 GMT

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-10356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16453985#comment-16453985
] 

ASF subversion and git services commented on CLOUDSTACK-10356:
--------------------------------------------------------------

Commit 4c42aafae0d3286a38d796a7c69a6aec6810cf79 in cloudstack's branch refs/heads/master from
brett
[ https://gitbox.apache.org/repos/asf?p=cloudstack.git;h=4c42aaf ]

[CLOUDSTACK-10356] Fix NPE in Cloudstack found with NPEDetector  (#2573)

* fix https://issues.apache.org/jira/browse/CLOUDSTACK-10356

* del patch file

* Update ResourceCountDaoImpl.java

* fix some format

* fix code

* fix error message in VolumeOrchestrator

* add check null stmt

* del import unuse class

* use BooleanUtils to check Boolean

* fix error message

* delete unuse function

* delete the deprecated function  updateDomainCount

* add error log and throw exception in ProjectManagerImpl.java


> Fix Some Potential NPE 
> -----------------------
>
>                 Key: CLOUDSTACK-10356
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-10356
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>    Affects Versions: 4.12.0.0
>            Reporter: lujie
>            Priority: Major
>         Attachments: CLOUDSTACK-10356_1.patch
>
>
> We have developed a static analysis tool [NPEDetector|https://github.com/lujiefsi/NPEDetector] to
find some potential NPE. Our analysis shows that some callees may return null in corner case(e.g.
node crash , IO exception), some of their callers have  _!=null_ check but some do not have.
In this issue we post a patch which can add  !=null  based on existed !=null  check. For
example:
> Callee GlobalLoadBalancingRulesServiceImpl#lookupGslbServiceProvider:
> {code:java}
> protected GslbServiceProvider lookupGslbServiceProvider() {
>     return _gslbProviders.size() == 0 ? null : _gslbProviders.get(0);// may return null;
> }
> {code}
> Caller GlobalLoadBalancingRulesServiceImpl#checkGslbServiceEnabledInZone have _!=null_:
> {code:java}
> private boolean checkGslbServiceEnabledInZone(long zoneId, long physicalNetworkId) {
>    GslbServiceProvider gslbProvider = lookupGslbServiceProvider();
>    if (gslbProvider == null) {
>       throw new CloudRuntimeException("No GSLB provider is available");
>    }
>    return gslbProvider.isServiceEnabledInZone(zoneId, physicalNetworkId);
> }
> {code}
> but another GlobalLoadBalancingRulesServiceImpl#applyGlobalLoadBalancerRuleConfig does
not have !=null check:
> {code:java}
> GslbServiceProvider gslbProvider = lookupGslbServiceProvider();
> siteLb.setGslbProviderPublicIp(gslbProvider.getZoneGslbProviderPublicIp(dataCenterId,physicalNetworkId));
> .........{code}
> So we will add below code in non-(!=null) caller GlobalLoadBalancingRulesServiceImpl#applyGlobalLoadBalancerRuleConfig
> {code:java}
> if (gslbProvider == null) {
>     throw new CloudRuntimeException("No GSLB provider is available");
> }
> {code}
> But due to we are not very  familiar with CLOUDSTACK, hope some expert can review
it.
> Thanks!!!!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message