qemu: Avoid memory leak in virQEMUCapsCPUDefsToModels

The @vendor variable inside virQEMUCapsCPUDefsToModels() is
allocated, but never freed. But there is actually no need for it
to be allocated, because it merely passes a retval of
virCPUGetVendorForModel() (which returns a const string) to
virDomainCapsCPUModelsAdd() (which ten accepts the argument as
const string). Therefore, drop the g_strdup() call and fix the
type of the variable.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
Michal Privoznik 2022-10-10 15:37:17 +02:00
parent 14573868ea
commit 68bf647788

View File

@ -2189,7 +2189,7 @@ virQEMUCapsCPUDefsToModels(virArch arch,
for (i = 0; i < defs->ncpus; i++) {
qemuMonitorCPUDefInfo *cpu = defs->cpus + i;
char *vendor = NULL;
const char *vendor = NULL;
if (modelAllowed && !g_strv_contains(modelAllowed, cpu->name))
continue;
@ -2198,7 +2198,7 @@ virQEMUCapsCPUDefsToModels(virArch arch,
continue;
if (vendors)
vendor = g_strdup(virCPUGetVendorForModel(arch, cpu->name));
vendor = virCPUGetVendorForModel(arch, cpu->name);
virDomainCapsCPUModelsAdd(cpuModels, cpu->name, cpu->usable,
cpu->blockers, cpu->deprecated, vendor);