[jira] [Updated] (OFBIZ-9975) ShippingEvents.getShipGroupEstimate() method gives untraceable null pointer exception for BigDecimal comparison

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Updated] (OFBIZ-9975) ShippingEvents.getShipGroupEstimate() method gives untraceable null pointer exception for BigDecimal comparison

Nicolas Malin (Jira)

     [ https://issues.apache.org/jira/browse/OFBIZ-9975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aditya Sharma updated OFBIZ-9975:
---------------------------------
    Attachment: OFBIZ-9975.patch

Solution:
Added UtilValidate.isNotEmpty() check before comparing using compareTo method.

> ShippingEvents.getShipGroupEstimate() method gives untraceable null pointer exception for BigDecimal comparison
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: OFBIZ-9975
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-9975
>             Project: OFBiz
>          Issue Type: Bug
>          Components: order
>    Affects Versions: Trunk, Release Branch 16.11
>            Reporter: Aditya Sharma
>            Assignee: Aditya Sharma
>         Attachments: OFBIZ-9975.patch
>
>
> The compareTo() method of BigDecimal is not null safe due to which in the following code:
> {code:java}
>         if (BigDecimal.ZERO.compareTo(shippingTotal) < 0 && BigDecimal.ZERO.compareTo(totalAllowance) < 0) {
>             BigDecimal shippingAllowancePercent = storeShipMethod.getBigDecimal("allowancePercent") != null ? storeShipMethod.getBigDecimal("allowancePercent") : BigDecimal.ZERO;
>             totalAllowance = totalAllowance.multiply(shippingAllowancePercent.divide(BigDecimal.valueOf(100)));
>             shippingTotal = shippingTotal.subtract(totalAllowance);
>         }
> {code}
> when totalAllowance value is null it throws null pointer exception which may be difficult to trace sometimes.
> Valid null pointer checks should be there before using compareTo() if the variable may have a null value in any of the case.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)