What does HRESULT 0x80097001 (MSSIPOTF_E_OUTOFMEMRANGE) mean?

 
Previous Next
TRUST_E_FINANCIAL_CRITERIA MSSIPOTF_E_CANTGETOBJECT

MSSIPOTF_E_OUTOFMEMRANGE

A directory range is outside the font file

MSSIPOTF_E_OUTOFMEMRANGE concerns a byte range referenced by the font, not ordinary process-memory exhaustion. OpenType table records describe each table with an offset and a length. If the checker cannot keep that range within the file it mapped, it must stop before treating arbitrary bytes as font data.

A truncated download, a damaged table directory, an offset rewritten after a table was removed, or an arithmetic overflow in a font producer can all lead to this condition. It differs from MSSIPOTF_E_FILETOOSMALL: this code points to an attempted reference outside a valid mapped range, while the latter specifically identifies a final table extending beyond end of file.

How to investigate

  • Preserve the original file and compare its byte length and hash with the source artifact before editing.
  • List the table directory with ttx -l or another independent parser, then check every offset + length against the file size.
  • Rebuild the font from its source rather than patching offsets in a signed binary; a repaired layout also changes checksum and signature material.

References


Looking for a different code? Search another status or error code.