Mozilla Bug 618592 - freeze on typekit
Fix apply_lookup() for zero-input broken fonts.
This commit is contained in:
parent
bbbbe80ec9
commit
7eb875118d
|
@ -230,13 +230,13 @@ static inline bool apply_lookup (hb_apply_context_t *c,
|
|||
apply_lookup_func_t apply_func)
|
||||
{
|
||||
unsigned int end = MIN (c->buffer->len, c->buffer->i + c->context_length);
|
||||
if (unlikely (c->buffer->i + count > end))
|
||||
if (unlikely (count == 0 || c->buffer->i + count > end))
|
||||
return false;
|
||||
|
||||
/* TODO We don't support lookupRecord arrays that are not increasing:
|
||||
* Should be easy for in_place ones at least. */
|
||||
|
||||
/* Note: If sublookup is reverse, i will underflow after the first loop
|
||||
/* Note: If sublookup is reverse, it will underflow after the first loop
|
||||
* and we jump out of it. Not entirely disastrous. So we don't check
|
||||
* for reverse lookup here.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue