emacs-diffs
[Top][All Lists]
Advanced

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

emacs-28 11ea45c9e4: Fix UB in ebrowse


From: Eli Zaretskii
Subject: emacs-28 11ea45c9e4: Fix UB in ebrowse
Date: Thu, 20 Jan 2022 06:44:02 -0500 (EST)

branch: emacs-28
commit 11ea45c9e47d13e13e3e539551e2df300f995c11
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Fix UB in ebrowse
    
    * lib-src/ebrowse.c (matching_regexp): Avoid writing beyond the
    limits of 'matching_regexp_buffer'.  Patch by Jan Stranik
    <jan@stranik.org>.  (Bug#53333)
    
    Copyright-paperwork-exempt: yes
---
 lib-src/ebrowse.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/lib-src/ebrowse.c b/lib-src/ebrowse.c
index 04ae018464..ac7e790187 100644
--- a/lib-src/ebrowse.c
+++ b/lib-src/ebrowse.c
@@ -1925,7 +1925,15 @@ matching_regexp (void)
       *--s = *--t;
 
       if (*s == '"' || *s == '\\')
-        *--s = '\\';
+       {
+         if (s > matching_regexp_buffer)
+           *--s = '\\';
+         else
+           {
+             s++;
+             break;
+           }
+       }
     }
 
   *(matching_regexp_end_buf - 1) = '\0';



reply via email to

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