In output_relocs, we do "sprintf(&addstr[0], "+0x%lx", ...)", with addrstr
being a 16 bytes array.
On 64bits hosts, in the unlikely case the value overflows 32bits, the buffer
may overflow.
Indeed, the maximum theorical size is 20 bytes (16 bytes for the value + 3
bytes for "+0x" + the end of string marker).
The reason the value overflows 32bits is yet to be understood, as the ARMV7-M
is 32bits architecture, but this patch first ensure the sprintf call is robust
enough.
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>