Commit 755ed732 authored by Jonathan Kew's avatar Jonathan Kew
Browse files

Bug 1874489 - patch 1 - Don't check STAT designAxisSize if the designAxisCount is zero. a=RyanVM

This is just https://github.com/khaledhosny/ots/pull/277 from upstream, not really part
of this issue but touching the same code, so simplest to include it here.

Original Revision: https://phabricator.services.mozilla.com/D204916

Differential Revision: https://phabricator.services.mozilla.com/D206096
parent 4f4c1cc4
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -48,10 +48,6 @@ bool OpenTypeSTAT::Parse(const uint8_t* data, size_t length) {
    this->minorVersion = 2;
  }

  if (this->designAxisSize < sizeof(AxisRecord)) {
    return Drop("Invalid designAxisSize");
  }

  size_t headerEnd = table.offset();

  if (this->designAxisCount == 0) {
@@ -60,6 +56,9 @@ bool OpenTypeSTAT::Parse(const uint8_t* data, size_t length) {
      this->designAxesOffset = 0;
    }
  } else {
    if (this->designAxisSize < sizeof(AxisRecord)) {
      return Drop("Invalid designAxisSize");
    }
    if (this->designAxesOffset < headerEnd ||
        size_t(this->designAxesOffset) +
          size_t(this->designAxisCount) * size_t(this->designAxisSize) > length) {