[HarfBuzz] harfbuzz-ng: Branch 'master'

Behdad Esfahbod behdad at kemper.freedesktop.org
Mon Dec 13 11:14:22 PST 2010


 src/hb-ot-layout-gsubgpos-private.hh |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 7eb875118dc31e9fb0e23c45985396a8bfe977e3
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Mon Dec 13 14:13:35 2010 -0500

    Mozilla Bug 618592 - freeze on typekit
    
    Fix apply_lookup() for zero-input broken fonts.

diff --git a/src/hb-ot-layout-gsubgpos-private.hh b/src/hb-ot-layout-gsubgpos-private.hh
index ae5416b..c2b2eea 100644
--- a/src/hb-ot-layout-gsubgpos-private.hh
+++ b/src/hb-ot-layout-gsubgpos-private.hh
@@ -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.
    */



More information about the HarfBuzz mailing list