]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: use correct free function for virDomainDeviceDef
authorJán Tomko <jtomko@redhat.com>
Tue, 4 Feb 2020 23:58:52 +0000 (00:58 +0100)
committerJán Tomko <jtomko@redhat.com>
Wed, 5 Feb 2020 08:56:57 +0000 (09:56 +0100)
Simple g_autofree is not enough if we put allocated
data into the device structure.

Define the AUTOPTR_CLEANUP function and use it here.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reported-by: Xu Yandong <xuyandong2@huawei.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/conf/domain_conf.c
src/conf/domain_conf.h

index c95bd34fb510d45fe7655c24cde998e85efbd05f..c3214dc4f352e7fac05ac39b16f4b013c4aa493d 100644 (file)
@@ -16516,7 +16516,7 @@ virDomainDeviceDefParse(const char *xmlStr,
     g_autoptr(xmlDoc) xml = NULL;
     xmlNodePtr node;
     g_autoptr(xmlXPathContext) ctxt = NULL;
-    g_autofree virDomainDeviceDefPtr dev = NULL;
+    g_autoptr(virDomainDeviceDef) dev = NULL;
 
     if (!(xml = virXMLParseStringCtxt(xmlStr, _("(device_definition)"), &ctxt)))
         return NULL;
index e144f3aad3d7fce464eb1ede57b15da9debfdcc7..c3acb29e6f000519f731c9d42e136d654d3c921b 100644 (file)
@@ -2916,6 +2916,7 @@ void virDomainRedirdevDefFree(virDomainRedirdevDefPtr def);
 void virDomainRedirFilterDefFree(virDomainRedirFilterDefPtr def);
 void virDomainShmemDefFree(virDomainShmemDefPtr def);
 void virDomainDeviceDefFree(virDomainDeviceDefPtr def);
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainDeviceDef, virDomainDeviceDefFree);
 virDomainDeviceDefPtr virDomainDeviceDefCopy(virDomainDeviceDefPtr src,
                                              const virDomainDef *def,
                                              virDomainXMLOptionPtr xmlopt,