diff options
| author | Paul Eggert | 2024-07-14 23:45:31 +0100 |
|---|---|---|
| committer | Paul Eggert | 2024-07-16 15:37:21 -0700 |
| commit | a53fd69fe21ea057cd257e663219a33399545949 (patch) | |
| tree | b452039a05d76519f636b9c03ac887177b939b69 /src | |
| parent | b77abd2bfeb13ae046b1f8c6157bd5a497665657 (diff) | |
| download | emacs-a53fd69fe21ea057cd257e663219a33399545949.tar.gz emacs-a53fd69fe21ea057cd257e663219a33399545949.zip | |
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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/print.c | 2 |
1 files changed, 1 insertions, 1 deletions
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) | |||
| 1617 | ptrdiff_t real_size_in_bytes = size_in_bytes; | 1617 | ptrdiff_t real_size_in_bytes = size_in_bytes; |
| 1618 | unsigned char *data = bool_vector_uchar_data (obj); | 1618 | unsigned char *data = bool_vector_uchar_data (obj); |
| 1619 | 1619 | ||
| 1620 | char buf[sizeof "#&\"" + INT_STRLEN_BOUND (ptrdiff_t)]; | 1620 | char buf[sizeof "#&\"" + INT_STRLEN_BOUND (EMACS_INT)]; |
| 1621 | int len = sprintf (buf, "#&%"pI"d\"", size); | 1621 | int len = sprintf (buf, "#&%"pI"d\"", size); |
| 1622 | strout (buf, len, len, printcharfun); | 1622 | strout (buf, len, len, printcharfun); |
| 1623 | 1623 | ||