[libvirt] [PATCH 1/8] virDomainDefFree: Don't leak initenv name and value
Peter Krempa
pkrempa at redhat.com
Fri Aug 4 14:53:13 UTC 2017
On Fri, Aug 04, 2017 at 16:22:29 +0200, Michal Privoznik wrote:
> When parsing boot options from domain XML in
> virDomainDefParseBootOptions() initenv id stored to:
In this function there's a very shady approach to extract the contents
of the XML element.
>
> def->os.initenv[i]->name
> def->os.initenv[i]->value
>
> But these are never freed.
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
> src/conf/domain_conf.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 640f29d3e..8168dc52f 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -2931,8 +2931,11 @@ void virDomainDefFree(virDomainDefPtr def)
> for (i = 0; def->os.initargv && def->os.initargv[i]; i++)
> VIR_FREE(def->os.initargv[i]);
> VIR_FREE(def->os.initargv);
> - for (i = 0; def->os.initenv && def->os.initenv[i]; i++)
> + for (i = 0; def->os.initenv && def->os.initenv[i]; i++) {
> + VIR_FREE(def->os.initenv[i]->name);
> + VIR_FREE(def->os.initenv[i]->value);
> VIR_FREE(def->os.initenv[i]);
ACK to this though
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170804/61d207f2/attachment-0001.sig>
More information about the libvir-list
mailing list