emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs-25 b49cb0a: Fbackward_prefix_chars: stay within buff


From: Noam Postavsky
Subject: [Emacs-diffs] emacs-25 b49cb0a: Fbackward_prefix_chars: stay within buffer bounds
Date: Fri, 17 Jun 2016 03:19:47 +0000 (UTC)

branch: emacs-25
commit b49cb0ab9c165c1e861b5dfac5eb7ef6cb9e4e3a
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>

    Fbackward_prefix_chars: stay within buffer bounds
    
    The commit 1fd3172d "(Fbackward_prefix_chars): Set point properly while
    scanning" (1998-03-18), moved the check against of the position against the
    buffer beginning out the loop condition so that we might end up checking
    the syntax of characters before the beginning of the buffer.  This can
    cause segfaults or trigger a "Point before start of properties" error in
    `update_interval' (called indirectly from `char_quoted').
    
    * src/syntax.c (Fbackward_prefix_chars): Stop the loop when beginning of
    buffer is reached (Bug #3552, Bug #17132, Bug #19379).
---
 src/syntax.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/syntax.c b/src/syntax.c
index 0af2a21..6e133ad 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -3098,8 +3098,9 @@ the prefix syntax flag (p).  */)
       opoint = pos;
       opoint_byte = pos_byte;
 
-      if (pos + 1 > beg)
-       DEC_BOTH (pos, pos_byte);
+      if (pos <= beg)
+        break;
+      DEC_BOTH (pos, pos_byte);
     }
 
   SET_PT_BOTH (opoint, opoint_byte);



reply via email to

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