mirror of
git://git.musl-libc.org/musl
synced 2025-01-11 09:09:45 +00:00
printf core: fix gratuitous integer formatting buffer size
the extra terms 3 and LDBL_MANT_DIG/4 are remnants of a proto-musl implementation of printf where the sign/prefix and floating point conversions were performed naively into this buffer. having them there obscures the actual intended buffer size (sufficient to hold between 2 and 3 octal digits per byte, rounded up to 3 for simplicity) and interferes with upcoming work to add C2x binary formats which would otherwise be stuck having to explain a similar fix to buffer size as part of an unrelated change.
This commit is contained in:
parent
3a23cd06b0
commit
40834f6c1e
@ -437,7 +437,7 @@ static int printf_core(FILE *f, const char *fmt, va_list *ap, union arg *nl_arg,
|
||||
unsigned st, ps;
|
||||
int cnt=0, l=0;
|
||||
size_t i;
|
||||
char buf[sizeof(uintmax_t)*3+3+LDBL_MANT_DIG/4];
|
||||
char buf[sizeof(uintmax_t)*3];
|
||||
const char *prefix;
|
||||
int t, pl;
|
||||
wchar_t wc[2], *ws;
|
||||
|
Loading…
Reference in New Issue
Block a user