]> git.eshelyaron.com Git - emacs.git/commitdiff
Don’t silently truncate connection-lost diagnostic
authorPaul Eggert <eggert@cs.ucla.edu>
Wed, 22 Jan 2025 06:25:48 +0000 (22:25 -0800)
committerEshel Yaron <me@eshelyaron.com>
Thu, 23 Jan 2025 10:25:09 +0000 (11:25 +0100)
* src/xterm.c (x_io_error_quitter): Do not silently truncate
the diagnostic when a connection is lost to an X server.

(cherry picked from commit 2efffbe7731ba979540df851819af0ef15b94c62)

src/xterm.c

index b16f4ddfccf1e95e45b42e2a424ec3297f4d0d2a..21968b38e784d28b99e8383f94883853aebbb4bb 100644 (file)
@@ -27123,11 +27123,13 @@ x_error_quitter (Display *display, XErrorEvent *event)
 static int NO_INLINE
 x_io_error_quitter (Display *display)
 {
-  char buf[256];
-
-  snprintf (buf, sizeof buf, "Connection lost to X server '%s'",
-           DisplayString (display));
+  char const *server = DisplayString (display);
+  static char const fmt[] = "Connection lost to X server '%s'";
+  USE_SAFE_ALLOCA;
+  char *buf = SAFE_ALLOCA (sizeof fmt - sizeof "%s" + strlen (server) + 1);
+  sprintf (buf, fmt, server);
   x_connection_closed (display, buf, true);
+  SAFE_FREE ();
 
   return 0;
 }