hw/openrisc/openrisc_sim: Avoid buffer overflow build error
Resolves this build breakage (which is actually a false-positive)
../hw/openrisc/openrisc_sim.c: In function ‘openrisc_sim_init’:
../hw/openrisc/openrisc_sim.c:284:45: error: ‘__builtin___snprintf_chk’ output may be truncated before the last format character [-Werror=format-truncation=]
snprintf(alias, sizeof(alias), "serial%d", uart_idx);
^
In file included from /usr/include/stdio.h:964:0,
from /data/qemu/include/qemu/osdep.h:114,
from ../hw/openrisc/openrisc_sim.c:21:
/usr/include/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 8 and 9 bytes into a destination of size 8
return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__glibc_objsize (__s), __fmt,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__va_arg_pack ());
~~~~~~~~~~~~~~~~~
by using a modern, more robust allocation pattern.
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-ID: <298bd904-1ee9-439e-8220-7a24e0952861@siemens.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
270b28681e
commit
6095c7dd3b
1 changed files with 1 additions and 2 deletions
|
|
@ -247,10 +247,10 @@ static void openrisc_sim_serial_init(Or1ksimState *state, hwaddr base,
|
|||
OpenRISCCPU *cpus[], int irq_pin,
|
||||
int uart_idx)
|
||||
{
|
||||
g_autofree char *alias = g_strdup_printf("serial%d", uart_idx);
|
||||
void *fdt = state->fdt;
|
||||
char *nodename;
|
||||
qemu_irq serial_irq;
|
||||
char alias[sizeof("serial0")];
|
||||
int i;
|
||||
|
||||
if (num_cpus > 1) {
|
||||
|
|
@ -281,7 +281,6 @@ static void openrisc_sim_serial_init(Or1ksimState *state, hwaddr base,
|
|||
/* The /chosen node is created during fdt creation. */
|
||||
qemu_fdt_setprop_string(fdt, "/chosen", "stdout-path", nodename);
|
||||
}
|
||||
snprintf(alias, sizeof(alias), "serial%d", uart_idx);
|
||||
qemu_fdt_setprop_string(fdt, "/aliases", alias, nodename);
|
||||
|
||||
g_free(nodename);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue