aboutsummaryrefslogtreecommitdiff
path: root/src/share/native/sun/font/layout/SinglePositioningSubtables.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/share/native/sun/font/layout/SinglePositioningSubtables.cpp')
-rw-r--r--src/share/native/sun/font/layout/SinglePositioningSubtables.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/share/native/sun/font/layout/SinglePositioningSubtables.cpp b/src/share/native/sun/font/layout/SinglePositioningSubtables.cpp
index 1e2d257a6..2d2fe342c 100644
--- a/src/share/native/sun/font/layout/SinglePositioningSubtables.cpp
+++ b/src/share/native/sun/font/layout/SinglePositioningSubtables.cpp
@@ -70,6 +70,9 @@ le_uint32 SinglePositioningFormat1Subtable::process(const LEReferenceTo<SinglePo
{
LEGlyphID glyph = glyphIterator->getCurrGlyphID();
le_int32 coverageIndex = getGlyphCoverage(base, glyph, success);
+ if (LE_FAILURE(success)) {
+ return 0;
+ }
if (coverageIndex >= 0) {
valueRecord.adjustPosition(SWAPW(valueFormat), (const char *) this, *glyphIterator, fontInstance);
@@ -84,6 +87,9 @@ le_uint32 SinglePositioningFormat2Subtable::process(const LEReferenceTo<SinglePo
{
LEGlyphID glyph = glyphIterator->getCurrGlyphID();
le_int16 coverageIndex = (le_int16) getGlyphCoverage(base, glyph, success);
+ if (LE_FAILURE(success)) {
+ return 0;
+ }
if (coverageIndex >= 0) {
valueRecordArray[0].adjustPosition(coverageIndex, SWAPW(valueFormat), (const char *) this, *glyphIterator, fontInstance);