From 72d7961d678f9c5f4cb812e0bb9b6dffafb47c68 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 21 Apr 2017 11:10:14 +0300 Subject: [PATCH] Avoid infinite loop in redisplay when header-line-format is invalid * 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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/xdisp.c b/src/xdisp.c index 58b5ca2f018..3e6a3078cea 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -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; -- 2.39.5