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(a)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