From 66b26e6722fe3d98e4fc467fca086a86c68f7b6b Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 14 Jul 2024 23:45:31 +0100 Subject: [PATCH] Fix buffer size problem in print_bool_vector MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * src/print.c (print_bool_vector): Don’t assume SIZE fits into ptrdiff_t, since it is an EMACS_INT. This pacifies gcc -Wformat-overflow on i686 --with-wide-int. (cherry picked from commit a53fd69fe21ea057cd257e663219a33399545949) --- src/print.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/print.c b/src/print.c index bd1d76b3b1b..8f28b14e8b6 100644 --- a/src/print.c +++ b/src/print.c @@ -1617,7 +1617,7 @@ print_bool_vector (Lisp_Object obj, Lisp_Object printcharfun) ptrdiff_t real_size_in_bytes = size_in_bytes; unsigned char *data = bool_vector_uchar_data (obj); - char buf[sizeof "#&\"" + INT_STRLEN_BOUND (ptrdiff_t)]; + char buf[sizeof "#&\"" + INT_STRLEN_BOUND (EMACS_INT)]; int len = sprintf (buf, "#&%"pI"d\"", size); strout (buf, len, len, printcharfun); -- 2.39.5