]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix buffer size problem in print_bool_vector
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 14 Jul 2024 22:45:31 +0000 (23:45 +0100)
committerEshel Yaron <me@eshelyaron.com>
Wed, 17 Jul 2024 21:53:51 +0000 (23:53 +0200)
* 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

index bd1d76b3b1b83ce19f7c8d88f91d7f33cf87105c..8f28b14e8b67ac2f13d0965f1c5efad2de5eb0b9 100644 (file)
@@ -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);