]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsysinfo: Don't leak fw_cfg
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 16 Jun 2020 11:01:38 +0000 (13:01 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 16 Jun 2020 14:34:30 +0000 (16:34 +0200)
In v6.4.0-72-g3dda889a44 I've introduced parsing and formatting
of new sysinfo type 'fwcfg'. However, I've forgot to introduce
code that would free parsed data.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
src/util/virsysinfo.c

index 52e576f129a3b157d2ca1741076dc46b03435b62..db84339bda887e8f66794cbcfefc6c26c20f1464 100644 (file)
@@ -131,6 +131,19 @@ void virSysinfoOEMStringsDefFree(virSysinfoOEMStringsDefPtr def)
     VIR_FREE(def);
 }
 
+
+static void
+virSysinfoFWCfgDefClear(virSysinfoFWCfgDefPtr def)
+{
+    if (!def)
+        return;
+
+    VIR_FREE(def->name);
+    VIR_FREE(def->value);
+    VIR_FREE(def->file);
+}
+
+
 /**
  * virSysinfoDefFree:
  * @def: a sysinfo structure
@@ -184,6 +197,10 @@ void virSysinfoDefFree(virSysinfoDefPtr def)
 
     virSysinfoOEMStringsDefFree(def->oemStrings);
 
+    for (i = 0; i < def->nfw_cfgs; i++)
+        virSysinfoFWCfgDefClear(&def->fw_cfgs[i]);
+    VIR_FREE(def->fw_cfgs);
+
     VIR_FREE(def);
 }