emacs-diffs
[Top][All Lists]
Advanced

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

feature/fix-the-long-lines-display-bug a740608453: Fix segfault in compo


From: Eli Zaretskii
Subject: feature/fix-the-long-lines-display-bug a740608453: Fix segfault in composite.c
Date: Sat, 9 Jul 2022 06:16:55 -0400 (EDT)

branch: feature/fix-the-long-lines-display-bug
commit a740608453525c7f7645df0740ee8267b43a779b
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Fix segfault in composite.c
    
    * src/composite.c (find_automatic_composition): Don't use
    narrowed_begv if it's zero.  This avoids segfault in
    BACKWARD_CHAR, since zero is not a valid buffer position.
---
 src/composite.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/composite.c b/src/composite.c
index d8998b5a1f..4f7b4b0a2c 100644
--- a/src/composite.c
+++ b/src/composite.c
@@ -1590,7 +1590,7 @@ find_automatic_composition (ptrdiff_t pos, ptrdiff_t 
limit, ptrdiff_t backlim,
       /* In buffers with very long lines, this function becomes very
         slow.  Pretend that the buffer is narrowed to make it fast.  */
       narrowed_begv = get_narrowed_begv (w);
-      if (pos > narrowed_begv)
+      if (narrowed_begv && pos > narrowed_begv)
        head = narrowed_begv;
       cur.pos_byte = CHAR_TO_BYTE (cur.pos);
       cur.p = BYTE_POS_ADDR (cur.pos_byte);



reply via email to

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