]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid crashes in 'display_count_lines' when current buffer was killed
authorEli Zaretskii <eliz@gnu.org>
Sat, 12 Aug 2023 12:06:48 +0000 (15:06 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 12 Aug 2023 12:06:48 +0000 (15:06 +0300)
* src/xdisp.c (Fformat_mode_line):
* src/fns.c (Fline_number_at_pos): Don't allow to count lines in a
dead buffer.  (Bug#65060)

src/fns.c
src/xdisp.c

index 2ed62d6e8c632b2e9074674b9eaa1079179db7a2..af5f9479a36abd0015a3d88696596832c7f3f7d1 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -6123,6 +6123,9 @@ from the absolute start of the buffer, disregarding the narrowing.  */)
 {
   ptrdiff_t pos_byte, start_byte = BEGV_BYTE;
 
+  if (!BUFFER_LIVE_P (current_buffer))
+    error ("Attempt to count lines in a dead buffer");
+
   if (MARKERP (position))
     {
       /* We don't trust the byte position if the marker's buffer is
index 22508978298899b04d0895a6886925d7e5c5e165..11417070804b4f2ba58657341cc2b21f9756d72f 100644 (file)
@@ -27653,6 +27653,8 @@ are the selected window and the WINDOW's buffer).  */)
   if (NILP (buffer))
     buffer = w->contents;
   CHECK_BUFFER (buffer);
+  if (!BUFFER_LIVE_P (XBUFFER (buffer)))
+    error ("Attempt to format a mode line for a dead buffer");
 
   /* Make formatting the modeline a non-op when noninteractive, otherwise
      there will be problems later caused by a partially initialized frame.  */