From: Paul Eggert Date: Sun, 14 Jul 2024 22:45:31 +0000 (+0100) Subject: Fix buffer size problem in print_bool_vector X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=66b26e6722fe3d98e4fc467fca086a86c68f7b6b;p=emacs.git Fix buffer size problem in print_bool_vector * 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) --- 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);