[libvirt] [PATCH 1/8] virDomainDefFree: Don't leak initenv name and value

Michal Privoznik mprivozn at redhat.com
Fri Aug 4 14:22:29 UTC 2017


When parsing boot options from domain XML in
virDomainDefParseBootOptions() initenv id stored to:

    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]);
+    }
     VIR_FREE(def->os.initdir);
     VIR_FREE(def->os.inituser);
     VIR_FREE(def->os.initgroup);
-- 
2.13.0




More information about the libvir-list mailing list