jlatexmath icon indicating copy to clipboard operation
jlatexmath copied to clipboard

Latent NPE in OverUnderBox

Open ghost opened this issue 2 years ago • 0 comments

IntelliJ IDEA shows that the following line has a potential fault (script can be null and subsequently dereferenced):

https://github.com/opencollab/jlatexmath/blob/e1bcaa30ae6e73057b9b8d11e54a1ef8929fd299/jlatexmath/src/main/java/org/scilab/forge/jlatexmath/OverUnderBox.java#L96

Whether that fault is ever realized I haven't explored. Here's the fix I added to KeenTeX:

  public OverUnderBox( Box b, Box d, Box script, float kern, boolean over ) {
    base = b;
    del = d;
    this.script = script;
    this.kern = kern;
    this.over = over;

    // Kerned height.
    final var kh = script == null ? 0 : script.height + script.depth + kern;

    // calculate metrics of the box
    width = b.getWidth();
    height = b.height
      + (over ? d.getWidth() : 0)
      + (over && script != null ? kh : 0);
    depth = b.depth
      + (over ? 0 : d.getWidth())
      + (!over && script == null ? 0 : kh);
  }

ghost avatar Dec 24 '22 21:12 ghost