]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix infloop in bidi.c
authorEli Zaretskii <eliz@gnu.org>
Sat, 25 Feb 2023 15:19:15 +0000 (17:19 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 25 Feb 2023 15:19:15 +0000 (17:19 +0200)
* 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

index 93875d243e4eed104a0006314e98d1186c391a2e..3c26ae193220e7ddcc0105d16bbc44672adf1373 100644 (file)
@@ -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;
 }