From a8aeed346d0be42161a2563a09a4745b40d330ee Mon Sep 17 00:00:00 2001 From: Sverker Eriksson Date: Fri, 12 Jan 2018 15:33:12 +0100 Subject: erts: Fix buffer overflow bug in erts_printf %f Sign character was not accounted for. Ex: float_to_list(-3.1265538967899625e+69, [{decimals,16}]). --- erts/lib_src/common/erl_printf_format.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'erts/lib_src/common') diff --git a/erts/lib_src/common/erl_printf_format.c b/erts/lib_src/common/erl_printf_format.c index 3daa066fd3..3302083288 100644 --- a/erts/lib_src/common/erl_printf_format.c +++ b/erts/lib_src/common/erl_printf_format.c @@ -331,7 +331,7 @@ static int fmt_double(fmtfn_t fn,void*arg,double val, char *bufp = sbuf; double dexp; int exp; - size_t max_size = 1; + size_t max_size = 2; /* including possible sign */ int size; int new_fmt = fmt; int fpe_was_unmasked; -- cgit v1.2.3