emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs-26 d6aa55e: Avoid segfaults in replace-buffer-conten


From: Eli Zaretskii
Subject: [Emacs-diffs] emacs-26 d6aa55e: Avoid segfaults in replace-buffer-contents with large buffers
Date: Fri, 22 Jun 2018 08:58:56 -0400 (EDT)

branch: emacs-26
commit d6aa55e2b48d56bf9a2cd25176029b6fb80a80b2
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Avoid segfaults in replace-buffer-contents with large buffers
    
    * src/editfns.c (Freplace_buffer_contents): Don't release
    malloc'ed memory as long as we are using it.  (Bug#31888)
---
 src/editfns.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/editfns.c b/src/editfns.c
index fc5b6c1..d15ae59 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -3215,7 +3215,6 @@ buffer stay intact.  */)
   /* Since we didn’t define EARLY_ABORT, we should never abort
      early.  */
   eassert (! early_abort);
-  SAFE_FREE ();
 
   Fundo_boundary ();
   ptrdiff_t count = SPECPDL_INDEX ();
@@ -3261,8 +3260,10 @@ buffer stay intact.  */)
       --i;
       --j;
     }
+  unbind_to (count, Qnil);
+  SAFE_FREE ();
 
-  return unbind_to (count, Qnil);
+  return Qnil;
 }
 
 static void



reply via email to

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