From: Ján Tomko Date: Thu, 15 Oct 2020 12:54:39 +0000 (+0200) Subject: qemu: agent: fix array access X-Git-Tag: v6.9.0-rc1~69 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=92ac61ea5eb9d259a680f8425c67c3ce638ee3ba;p=thirdparty%2Flibvirt.git qemu: agent: fix array access My code movement changed the type of ifaces_ret from virDomainInterfacePtr * to virDomainInterfacePtr **, but failed to adjust the condition or dereference the array correctly. Signed-off-by: Ján Tomko Fixes: 6ddb1f803ea38d8d709b984fa9539e34318a9dc0 Reviewed-by: Michal Privoznik --- diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c index c9c4b034d3..4c61c5cdc6 100644 --- a/src/qemu/qemu_agent.c +++ b/src/qemu/qemu_agent.c @@ -2209,6 +2209,7 @@ qemuAgentGetAllInterfaceAddresses(virDomainInterfacePtr **ifaces_ret, size_t ifaces_count = 0; size_t i; + *ifaces_ret = NULL; /* Hash table to handle the interface alias */ ifaces_store = virHashNew(NULL); @@ -2223,9 +2224,9 @@ qemuAgentGetAllInterfaceAddresses(virDomainInterfacePtr **ifaces_ret, return ifaces_count; error: - if (ifaces_ret) { + if (*ifaces_ret) { for (i = 0; i < ifaces_count; i++) - virDomainInterfaceFree(*ifaces_ret[i]); + virDomainInterfaceFree((*ifaces_ret)[i]); } VIR_FREE(*ifaces_ret); return -1;