Mozilla Bug 618592 - freeze on typekit

Fix apply_lookup() for zero-input broken fonts.
This commit is contained in:
Behdad Esfahbod 2010-12-13 14:13:35 -05:00
parent bbbbe80ec9
commit 7eb875118d
1 changed files with 2 additions and 2 deletions

View File

@ -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.
*/