* src/sfnt/ttsbit.c (tt_face_load_sbix_image): Use FT_MulDiv.

Problem reported as

  https://issues.oss-fuzz.com/issues/505058300
This commit is contained in:
Werner Lemberg 2026-04-21 22:12:09 +02:00
parent 0db9ecac02
commit 867c296b90

View file

@ -1602,9 +1602,10 @@
metrics->horiBearingY = (FT_Short)( originOffsetY + metrics->height );
metrics->vertBearingY = (FT_Short)originOffsetY;
metrics->horiAdvance = (FT_UShort)( aadvance *
face->root.size->metrics.x_ppem /
face->header.Units_Per_EM );
metrics->horiAdvance =
(FT_UShort)FT_MulDiv( aadvance,
face->root.size->metrics.x_ppem,
face->header.Units_Per_EM );
if ( face->vertical_info )
tt_face_get_metrics( face, TRUE, glyph_index, &abearing, &aadvance );
@ -1615,9 +1616,10 @@
aadvance = (FT_UShort)FT_ABS( face->horizontal.Ascender -
face->horizontal.Descender );
metrics->vertAdvance = (FT_UShort)( aadvance *
face->root.size->metrics.x_ppem /
face->header.Units_Per_EM );
metrics->vertAdvance =
(FT_UShort)FT_MulDiv( aadvance,
face->root.size->metrics.x_ppem,
face->header.Units_Per_EM );
}
return error;