From: Paul Eggert Date: Mon, 27 Jan 2025 06:15:50 +0000 (-0800) Subject: Fix unlikely eassert failure in pgtk_enumerate_devices X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3a6ccfd335418efb614ec2145d7c75ada89d80cf;p=emacs.git Fix unlikely eassert failure in pgtk_enumerate_devices * src/pgtkterm.c (pgtk_enumerate_devices): Prefer make_formatted_string to snprintf + build_string + eassert, as it’s simpler and won’t crash Emacs if the eassert fails. (cherry picked from commit 901659bb7046bef4ca10490cf47644fb2bc6d753) --- diff --git a/src/pgtkterm.c b/src/pgtkterm.c index 1f468300deb..dd85d622a62 100644 --- a/src/pgtkterm.c +++ b/src/pgtkterm.c @@ -158,8 +158,6 @@ pgtk_enumerate_devices (struct pgtk_display_info *dpyinfo, struct pgtk_device_t *rec; GList *all_seats, *devices_on_seat, *tem, *t1; GdkSeat *seat; - char printbuf[1026]; /* Believe it or not, some device names are - actually almost this long. */ block_input (); all_seats = gdk_display_list_seats (dpyinfo->gdpy); @@ -187,13 +185,10 @@ pgtk_enumerate_devices (struct pgtk_display_info *dpyinfo, rec = xmalloc (sizeof *rec); rec->seat = g_object_ref (seat); rec->device = GDK_DEVICE (t1->data); - - int len = snprintf (printbuf, sizeof printbuf, "%u:%s", - gdk_device_get_source (rec->device), - gdk_device_get_name (rec->device)); - eassert (len < sizeof printbuf); - - rec->name = build_string (printbuf); + rec->name = (make_formatted_string + ("%u:%s", + gdk_device_get_source (rec->device), + gdk_device_get_name (rec->device))); rec->next = dpyinfo->devices; dpyinfo->devices = rec; }