Avoid overflow
diff --git a/src/hb-shape.c b/src/hb-shape.c
index 0ee6fa8..e3f35ee 100644
--- a/src/hb-shape.c
+++ b/src/hb-shape.c
@@ -93,6 +93,8 @@
 {
   unsigned int count;
 
+  if (HB_UNLIKELY (!buffer->in_length))
+    return;
   count = buffer->in_length - 1;
   for (buffer->in_pos = 0; buffer->in_pos < count; buffer->in_pos++) {
     if (HB_UNLIKELY (is_variation_selector (IN_NEXTGLYPH()))) {