diff --git a/src/share/native/sun/font/layout/MultipleSubstSubtables.cpp b/src/share/native/sun/font/layout/MultipleSubstSubtables.cpp index 5ed9a3a532cb5b36856025691953c573ff9bf9dd..e6e7d533eb66078c1000c52b26e8d46248eb5db7 100644 --- a/src/share/native/sun/font/layout/MultipleSubstSubtables.cpp +++ b/src/share/native/sun/font/layout/MultipleSubstSubtables.cpp @@ -71,6 +71,9 @@ le_uint32 MultipleSubstitutionSubtable::process(const LETableReference &base, Gl if (coverageIndex >= 0 && coverageIndex < seqCount) { Offset sequenceTableOffset = SWAPW(sequenceTableOffsetArray[coverageIndex]); LEReferenceTo sequenceTable(base, success, sequenceTableOffset); + if (LE_FAILURE(success)) { + return 0; + } le_uint16 glyphCount = SWAPW(sequenceTable->glyphCount); if (glyphCount == 0) {