emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 ab0cc4e7811: Fix infloop in bidi.c


From: Eli Zaretskii
Subject: emacs-29 ab0cc4e7811: Fix infloop in bidi.c
Date: Sat, 25 Feb 2023 10:21:25 -0500 (EST)

branch: emacs-29
commit ab0cc4e78111167a79bd861cb570ced189303131
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Fix infloop in bidi.c
    
    * src/bidi.c (bidi_set_paragraph_end): Reset the isolate_level to
    zero.  Whenever stack_idx is reset to zero, the isolate_level must
    also be reset, since there cannot be any isolate status outside of
    embeddings.  Failure to reset isolate_level will cause us infloop
    when we see a PDI.  Reported by Matt Beshara <m@mfa.pw>.
---
 src/bidi.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bidi.c b/src/bidi.c
index 93875d243e4..3c26ae19322 100644
--- a/src/bidi.c
+++ b/src/bidi.c
@@ -1126,6 +1126,7 @@ bidi_set_paragraph_end (struct bidi_it *bidi_it)
   bidi_it->invalid_levels = 0;
   bidi_it->invalid_isolates = 0;
   bidi_it->stack_idx = 0;
+  bidi_it->isolate_level = 0;
   bidi_it->resolved_level = bidi_it->level_stack[0].level;
 }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]