提交 8dcc1913 编写于 作者: B Behdad Esfahbod

[kerx/morx] Make sure object length is sanitized before accessing it

上级 70d80c90
......@@ -962,6 +962,11 @@ struct KerxTable
unsigned int count = thiz()->tableCount;
for (unsigned int i = 0; i < count; i++)
{
if (unlikely (!st->u.header.sanitize (c)))
{
c->reset_object ();
return_trace (false);
}
/* OpenType kern table has 2-byte subtable lengths. That's limiting.
* MS implementation also only supports one subtable, of format 0,
* anyway. Certain versions of some fonts, like Calibry, contain
......
......@@ -1061,6 +1061,11 @@ struct Chain
unsigned int count = subtableCount;
for (unsigned int i = 0; i < count; i++)
{
if (unlikely (!c->check_struct (subtable)))
{
c->reset_object ();
return_trace (false);
}
c->set_object (*subtable);
if (!subtable->sanitize (c))
return_trace (false);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册