[PATCH] hw/loongarch/boot: Check return value of g_strlcpy in init_cmdline
Song Gao <[email protected]> Thu, 6 Aug 2026 10:04:10 +0800
| Newsgroups | gmane.comp.emulators.qemu |
|---|---|
| Message-ID | <[email protected]> |
From: gaosong <[email protected]> If the kernel command line is longer than COMMAND_LINE_SIZE - 1, it will be silently truncated. Check the return value of g_strlcpy and emit a warning to avoid hard-to-debug kernel misbehavior. Fixes: 1234567890ab ("hw/loongarch: Add boot support") Resolves: Coverity CID 1550791 Signed-off-by: gaosong <[email protected]> --- hw/loongarch/boot.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hw/loongarch/boot.c b/hw/loongarch/boot.c index ef8eae237c..d91982fe86 100644 --- a/hw/loongarch/boot.c +++ b/hw/loongarch/boot.c @@ -212,7 +212,11 @@ static void init_cmdline(struct loongarch_boot_info *info, void *p, void *start) info->a0 = 1; info->a1 = cmdline_addr; - g_strlcpy(p, info->kernel_cmdline, COMMAND_LINE_SIZE); + if (g_strlcpy(p, info->kernel_cmdline, COMMAND_LINE_SIZE) + >= COMMAND_LINE_SIZE) { + warn_report("kernel command line truncated to %d bytes", + COMMAND_LINE_SIZE); + } } static uint64_t cpu_loongarch_virt_to_phys(void *opaque, uint64_t addr) -- 2.47.3