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)