commit 490f8979a260c16b1df055eab386345da18a2d54 Author: Matthias Clasen Date: Wed Jul 10 20:26:23 2019 -0400 bidi: Be safer against bad input Don't run off the end of an array that we allocated to certain length. Closes: https://gitlab.gnome.org/GNOME/pango/issues/342 diff --git a/pango/pango-bidi-type.c b/pango/pango-bidi-type.c index 3e46b66c..5c02dbbb 100644 --- a/pango/pango-bidi-type.c +++ b/pango/pango-bidi-type.c @@ -181,8 +181,11 @@ pango_log2vis_get_embedding_levels (const gchar *text, for (i = 0, p = text; p < text + length; p = g_utf8_next_char(p), i++) { gunichar ch = g_utf8_get_char (p); - FriBidiCharType char_type; - char_type = fribidi_get_bidi_type (ch); + FriBidiCharType char_type = fribidi_get_bidi_type (ch); + + if (i == n_chars) + break; + bidi_types[i] = char_type; ored_types |= char_type; if (FRIBIDI_IS_STRONG (char_type))