From 4851a99ee0621d4c017cfa34b8cc59a314c716b7 Mon Sep 17 00:00:00 2001 From: Peter Krempa <pkrempa@redhat.com> Date: Wed, 3 Mar 2021 11:14:33 +0100 Subject: [PATCH] virHostCPUGetStatsLinux: Avoid 'strcpy' Use an allocated buffer for 'cpu_header' so that g_strdup(_printf) can be used to fill it. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com> --- src/util/virhostcpu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/util/virhostcpu.c b/src/util/virhostcpu.c index 4f6c3390ce..2446948bc1 100644 --- a/src/util/virhostcpu.c +++ b/src/util/virhostcpu.c @@ -787,7 +787,7 @@ virHostCPUGetStatsLinux(FILE *procstat, char line[1024]; unsigned long long usr, ni, sys, idle, iowait; unsigned long long irq, softirq, steal, guest, guest_nice; - char cpu_header[4 + VIR_INT64_STR_BUFLEN]; + g_autofree char *cpu_header = NULL; if ((*nparams) == 0) { /* Current number of cpu stats supported by linux */ @@ -803,9 +803,9 @@ virHostCPUGetStatsLinux(FILE *procstat, } if (cpuNum == VIR_NODE_CPU_STATS_ALL_CPUS) { - strcpy(cpu_header, "cpu "); + cpu_header = g_strdup("cpu "); } else { - g_snprintf(cpu_header, sizeof(cpu_header), "cpu%d ", cpuNum); + cpu_header = g_strdup_printf("cpu%d ", cpuNum); } while (fgets(line, sizeof(line), procstat) != NULL) {