On Wed, 10 Mar 2021 12:31:31 GMT, Matthias Baesken <mbaes...@openjdk.org> wrote:
> In java/awt/font/TextJustifier.java justify-method there is a potential code > path where divison by zero might happen , see also the Sonar finding > https://sonarcloud.io/project/issues?id=shipilev_jdk&open=AXcqMwpm8sPJZZzONu1k&resolved=false&severities=CRITICAL&types=BUG > > > boolean hitLimit = (weight == 0) || (!lastPass && ((delta < 0) == > (delta < gslimit))); > boolean absorbing = hitLimit && absorbweight > 0; > // predivide delta by weight > float weightedDelta = delta / weight; // not used if weight == 0 > > In case of (weight == 0) the division should not be done because the value of > weightedDelta is unused in this case anyway. src/java.desktop/share/classes/java/awt/font/TextJustifier.java line 159: > 157: // predivide delta by weight > 158: float weightedDelta = 0; > 159: if (weight != 0) { // not used if weight == 0 Can it ever be -ve? Maybe we can do weight > 0 check just as we do for absorbweight? ------------- PR: https://git.openjdk.java.net/jdk/pull/2912