Since you don't give a precision argument for the format, printf
and it's relatives use 6 decimal digits by default.
The minimum value of iee 754 double precision floating point is -1.7976931348623157E+308
To print that number with precision of 6 decimal digits, you need one character for sign, one for decimal point, 308 digits for the integral part and the 6 decimal digits for a total of 316 characters. Don't forget to allocate the extra character for null terminator. Therefore, an array of 317 characters should be sufficient but only if iee 754 is used, which is not guaranteed by the c++ standard.
hp fortify probably doesn't know that and it's not safe to assume iee 754 anyway, so you probably won't get rid of the warning no matter how big an array you use. To ensure that no overflow occurs, use snprintf
or similar that allows passing the buffer size.