[jira] [Created] (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] [Created] (OFBIZ-9975) ShippingEvents.getShipGroupEstimate() method gives untraceable null pointer exception for BigDecimal comparison

Nicolas Malin (Jira)
Aditya Sharma created OFBIZ-9975:
------------------------------------

             Summary: 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: Release Branch 16.11, Trunk
            Reporter: Aditya Sharma
            Assignee: Aditya Sharma


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)