[libvirt] [PATCH] Fix few memory leaks found by Coverity
Michal Privoznik
mprivozn at redhat.com
Fri Jan 9 15:27:07 UTC 2015
On 09.01.2015 15:58, Pavel Hrdina wrote:
> Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
> ---
> src/conf/domain_conf.c | 10 ++++++++--
> src/openvz/openvz_driver.c | 1 +
> 2 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index d1a483a..eacd687 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -17264,17 +17264,20 @@ virDomainNetIpsFormat(virBufferPtr buf, virDomainNetIpDefPtr *ips, size_t nips)
> virSocketAddrPtr address = &ips[i]->address;
> char *ipStr = virSocketAddrFormat(address);
> const char *familyStr = NULL;
> +
> if (VIR_SOCKET_ADDR_IS_FAMILY(address, AF_INET6))
> familyStr = "ipv6";
> else if (VIR_SOCKET_ADDR_IS_FAMILY(address, AF_INET))
> familyStr = "ipv4";
> - virBufferAsprintf(buf, "<ip address='%s'",
> - ipStr);
> +
> + virBufferAsprintf(buf, "<ip address='%s'", ipStr);
> if (familyStr)
> virBufferAsprintf(buf, " family='%s'", familyStr);
> if (ips[i]->prefix != 0)
> virBufferAsprintf(buf, " prefix='%u'", ips[i]->prefix);
> virBufferAddLit(buf, "/>\n");
> +
> + VIR_FREE(ipStr);
> }
> }
>
> @@ -17306,6 +17309,9 @@ virDomainNetRoutesFormat(virBufferPtr buf,
> virBufferAsprintf(buf, " prefix='%d'", route->prefix);
>
> virBufferAddLit(buf, "/>\n");
> +
> + VIR_FREE(via);
> + VIR_FREE(to);
you can just move this VIR_FREE(to) right after the last usage of @to,
like you did in the chunk below.
> }
> }
>
> diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
> index c144eca..64f5219 100644
> --- a/src/openvz/openvz_driver.c
> +++ b/src/openvz/openvz_driver.c
> @@ -911,6 +911,7 @@ openvzDomainSetNetwork(virConnectPtr conn, const char *vpsid,
> for (i = 0; i < net->nips; i++) {
> char *ipStr = virSocketAddrFormat(&net->ips[i]->address);
> virCommandAddArgList(cmd, "--ipadd", ipStr, NULL);
> + VIR_FREE(ipStr);
> }
> }
>
>
ACK
Michal
More information about the libvir-list
mailing list