From b7683335146bfe3a74d9419db92cd7a8019a9c10 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Mon, 13 Dec 2010 14:22:35 -0500 Subject: [PATCH] Disallow ligature substitutions replacing one glyph --- src/hb-ot-layout-gsub-private.hh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hb-ot-layout-gsub-private.hh b/src/hb-ot-layout-gsub-private.hh index 169290b5c..ae1c5f3c5 100644 --- a/src/hb-ot-layout-gsub-private.hh +++ b/src/hb-ot-layout-gsub-private.hh @@ -345,7 +345,7 @@ struct Ligature unsigned int i, j; unsigned int count = component.len; unsigned int end = MIN (c->buffer->len, c->buffer->i + c->context_length); - if (unlikely (c->buffer->i + count > end)) + if (unlikely (count < 2 || c->buffer->i + count > end)) return false; bool first_was_mark = (c->property & HB_OT_LAYOUT_GLYPH_CLASS_MARK);