[set] Fix page_map[] indexing in backward loop.
authorJonathan Kew <jfkthame@gmail.com>
Thu, 26 Oct 2017 15:59:50 +0000 (16:59 +0100)
committerBehdad Esfahbod <behdad@behdad.org>
Thu, 26 Oct 2017 17:33:05 +0000 (12:33 -0500)
Fixes https://github.com/behdad/harfbuzz/issues/579.

src/hb-set-private.hh

index df4325a..c970b89 100644 (file)
@@ -313,13 +313,13 @@ struct hb_set_t
     b = nb;
     for (; a && b; )
     {
-      if (page_map[a].major == other->page_map[b].major)
+      if (page_map[a - 1].major == other->page_map[b - 1].major)
       {
        a--;
        b--;
         Op::process (page_at (--count).v, page_at (a).v, other->page_at (b).v);
       }
-      else if (page_map[a].major > other->page_map[b].major)
+      else if (page_map[a - 1].major > other->page_map[b - 1].major)
       {
         a--;
         if (Op::passthru_left)