SkFontHost/FreeType/ToUnicode: add an assert
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1900193002
Review URL: https://codereview.chromium.org/1900193002
diff --git a/src/ports/SkFontHost_FreeType.cpp b/src/ports/SkFontHost_FreeType.cpp
index 55eb87f..3b1a5b2 100644
--- a/src/ports/SkFontHost_FreeType.cpp
+++ b/src/ports/SkFontHost_FreeType.cpp
@@ -445,12 +445,14 @@
}
static void populate_glyph_to_unicode(FT_Face& face, SkTDArray<SkUnichar>* glyphToUnicode) {
- glyphToUnicode->setCount(face->num_glyphs);
- sk_bzero(glyphToUnicode->begin(), sizeof((*glyphToUnicode)[0]) * face->num_glyphs);
+ FT_Long numGlyphs = face->num_glyphs;
+ glyphToUnicode->setCount(SkToInt(numGlyphs));
+ sk_bzero(glyphToUnicode->begin(), sizeof((*glyphToUnicode)[0]) * numGlyphs);
FT_UInt glyphIndex;
SkUnichar charCode = FT_Get_First_Char(face, &glyphIndex);
while (glyphIndex) {
+ SkASSERT(glyphIndex < SkToUInt(numGlyphs));
(*glyphToUnicode)[glyphIndex] = charCode;
charCode = FT_Get_Next_Char(face, charCode, &glyphIndex);
}