]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid infinite loop in redisplay when header-line-format is invalid
authorEli Zaretskii <eliz@gnu.org>
Fri, 21 Apr 2017 08:10:14 +0000 (11:10 +0300)
committerEli Zaretskii <eliz@gnu.org>
Fri, 21 Apr 2017 08:10:14 +0000 (11:10 +0300)
* src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
string has an invalid %-construct in it and is displayed as part
of mode-line or header-line.  (Bug#26586)

src/xdisp.c

index 58b5ca2f018d22475ee55966f144309b36459826..3e6a3078cea001dff01f356ca160e36efacb471a 100644 (file)
@@ -4318,7 +4318,8 @@ handle_invisible_prop (struct it *it)
                      bidi_move_to_visually_next (&it->bidi_it);
                    }
                  while (oldpos <= it->bidi_it.charpos
-                        && it->bidi_it.charpos < endpos);
+                        && it->bidi_it.charpos < endpos
+                        && it->bidi_it.charpos < it->bidi_it.string.schars);
 
                  IT_STRING_CHARPOS (*it) = it->bidi_it.charpos;
                  IT_STRING_BYTEPOS (*it) = it->bidi_it.bytepos;