emacs-diffs
[Top][All Lists]
Advanced

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

master 8954fcb93b: ; * src/lread.c (read0): Fix specpdl off-by-one bug i


From: Mattias Engdegård
Subject: master 8954fcb93b: ; * src/lread.c (read0): Fix specpdl off-by-one bug in last change.
Date: Tue, 30 Aug 2022 05:26:51 -0400 (EDT)

branch: master
commit 8954fcb93bb271f5147b19671d1bf87d88d8047a
Author: Mattias Engdegård <mattiase@acm.org>
Commit: Mattias Engdegård <mattiase@acm.org>

    ; * src/lread.c (read0): Fix specpdl off-by-one bug in last change.
---
 src/lread.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lread.c b/src/lread.c
index 15bbf46f78..bb37606481 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -3702,11 +3702,13 @@ read0 (Lisp_Object readcharfun, bool locate_syms)
   char *read_buffer = stackbuf;
   ptrdiff_t read_buffer_size = sizeof stackbuf;
   char *heapbuf = NULL;
-  specpdl_ref count = SPECPDL_INDEX ();
 
+  specpdl_ref base_pdl = SPECPDL_INDEX ();
   ptrdiff_t base_sp = rdstack.sp;
   record_unwind_protect_intmax (read_stack_reset, base_sp);
 
+  specpdl_ref count = SPECPDL_INDEX ();
+
   bool uninterned_symbol;
   bool skip_shorthand;
 
@@ -4354,7 +4356,7 @@ read0 (Lisp_Object readcharfun, bool locate_syms)
        }
     }
 
-  return unbind_to (count, obj);
+  return unbind_to (base_pdl, obj);
 }
 
 



reply via email to

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