]> xenbits.xensource.com Git - libvirt.git/commitdiff
lib: Use g_autoptr() for virDomainDef
authorMichal Privoznik <mprivozn@redhat.com>
Mon, 29 Nov 2021 08:07:44 +0000 (09:07 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 3 Dec 2021 16:18:26 +0000 (17:18 +0100)
Instead of calling virDomainDefFree() explicitly, we can annotate
variables with g_autoptr().

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
24 files changed:
src/bhyve/bhyve_driver.c
src/bhyve/bhyve_parse_command.c
src/ch/ch_driver.c
src/conf/domain_conf.c
src/conf/virdomainobjlist.c
src/esx/esx_driver.c
src/libxl/libxl_domain.c
src/libxl/libxl_driver.c
src/libxl/libxl_migration.c
src/libxl/xen_xl.c
src/libxl/xen_xm.c
src/lxc/lxc_driver.c
src/lxc/lxc_native.c
src/openvz/openvz_conf.c
src/openvz/openvz_driver.c
src/qemu/qemu_saveimage.c
src/test/test_driver.c
src/vbox/vbox_common.c
src/vmware/vmware_conf.c
src/vmware/vmware_driver.c
src/vmx/vmx.c
src/vz/vz_driver.c
src/vz/vz_sdk.c
tests/securityselinuxtest.c

index eccf9b44a8c1d75def1dff82841fc45a9a3a7721..250e10b9d0693d58d41fe38d0fa8578200aca3a0 100644 (file)
@@ -504,8 +504,8 @@ bhyveDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flag
 {
     struct _bhyveConn *privconn = conn->privateData;
     virDomainPtr dom = NULL;
-    virDomainDef *def = NULL;
-    virDomainDef *oldDef = NULL;
+    g_autoptr(virDomainDef) def = NULL;
+    g_autoptr(virDomainDef) oldDef = NULL;
     virDomainObj *vm = NULL;
     virObjectEvent *event = NULL;
     virCaps *caps = NULL;
@@ -555,8 +555,6 @@ bhyveDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flag
 
  cleanup:
     virObjectUnref(caps);
-    virDomainDefFree(def);
-    virDomainDefFree(oldDef);
     virDomainObjEndAPI(&vm);
     virObjectEventStateQueue(privconn->domainEventState, event);
 
@@ -679,7 +677,7 @@ bhyveConnectDomainXMLToNative(virConnectPtr conn,
 {
     g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
     struct _bhyveConn *privconn = conn->privateData;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     virCommand *cmd = NULL;
     virCommand *loadcmd = NULL;
     char *ret = NULL;
@@ -736,7 +734,6 @@ bhyveConnectDomainXMLToNative(virConnectPtr conn,
  cleanup:
     virCommandFree(loadcmd);
     virCommandFree(cmd);
-    virDomainDefFree(def);
     return ret;
 }
 
@@ -890,7 +887,7 @@ bhyveDomainCreateXML(virConnectPtr conn,
 {
     struct _bhyveConn *privconn = conn->privateData;
     virDomainPtr dom = NULL;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     virDomainObj *vm = NULL;
     virObjectEvent *event = NULL;
     unsigned int start_flags = 0;
@@ -936,7 +933,6 @@ bhyveDomainCreateXML(virConnectPtr conn,
     dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
 
  cleanup:
-    virDomainDefFree(def);
     virDomainObjEndAPI(&vm);
     virObjectEventStateQueue(privconn->domainEventState, event);
 
@@ -1570,7 +1566,7 @@ bhyveConnectDomainXMLFromNative(virConnectPtr conn,
                                 unsigned int flags)
 {
     char *xml = NULL;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     struct _bhyveConn *privconn = conn->privateData;
     unsigned bhyveCaps = bhyveDriverGetBhyveCaps(privconn);
 
@@ -1593,7 +1589,6 @@ bhyveConnectDomainXMLFromNative(virConnectPtr conn,
     xml = virDomainDefFormat(def, privconn->xmlopt, 0);
 
  cleanup:
-    virDomainDefFree(def);
     return xml;
 }
 
index f2c15f3aa5d2f94917874b7de286fbbe329a43cc..6ee3c8305b6b9574bf1aa096ed96becbc807888c 100644 (file)
@@ -934,7 +934,7 @@ bhyveParseCommandLineString(const char* nativeConfig,
                             unsigned caps,
                             virDomainXMLOption *xmlopt)
 {
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     int bhyve_argc = 0;
     g_auto(GStrv) bhyve_argv = NULL;
     int loader_argc = 0;
@@ -948,8 +948,6 @@ bhyveParseCommandLineString(const char* nativeConfig,
     if (virUUIDGenerate(def->uuid) < 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                        _("Failed to generate uuid"));
-        virDomainDefFree(def);
-        def = NULL;
         goto cleanup;
     }
     def->id = -1;
@@ -974,9 +972,7 @@ bhyveParseCommandLineString(const char* nativeConfig,
     }
 
  cleanup:
-    return def;
+    return g_steal_pointer(&def);
  error:
-    virDomainDefFree(def);
-    def = NULL;
     goto cleanup;
 }
index 464bcef907a1a7ac5fa13ef1c312d2cf6eff3ba5..108644e503e679ed3171709d469b5e757f8f3207 100644 (file)
@@ -218,7 +218,7 @@ chDomainCreateXML(virConnectPtr conn,
                   unsigned int flags)
 {
     virCHDriver *driver = conn->privateData;
-    virDomainDef *vmdef = NULL;
+    g_autoptr(virDomainDef) vmdef = NULL;
     virDomainObj *vm = NULL;
     virDomainPtr dom = NULL;
     unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE;
@@ -258,7 +258,6 @@ chDomainCreateXML(virConnectPtr conn,
     if (vm && !dom) {
         virDomainObjListRemove(driver->domains, vm);
     }
-    virDomainDefFree(vmdef);
     virDomainObjEndAPI(&vm);
     chDriverUnlock(driver);
     return dom;
@@ -301,7 +300,7 @@ static virDomainPtr
 chDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
 {
     virCHDriver *driver = conn->privateData;
-    virDomainDef *vmdef = NULL;
+    g_autoptr(virDomainDef) vmdef = NULL;
     virDomainObj *vm = NULL;
     virDomainPtr dom = NULL;
     unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE;
@@ -331,7 +330,6 @@ chDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
     dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
 
  cleanup:
-    virDomainDefFree(vmdef);
     virDomainObjEndAPI(&vm);
     return dom;
 }
index bdcc3dc2c12f35951112d492620b2ca092a36cbd..4059acba7f281bf266679fec6be394e10801cb23 100644 (file)
@@ -3840,7 +3840,7 @@ virDomainObjNew(virDomainXMLOption *xmlopt)
 virDomainDef *
 virDomainDefNew(virDomainXMLOption *xmlopt)
 {
-    virDomainDef *ret;
+    g_autoptr(virDomainDef) ret = NULL;
 
     ret = g_new0(virDomainDef, 1);
 
@@ -3856,10 +3856,8 @@ virDomainDefNew(virDomainXMLOption *xmlopt)
     else
         ret->scsiBusMaxUnit = SCSI_NARROW_BUS_MAX_CONT_UNIT;
 
-    return ret;
-
+    return g_steal_pointer(&ret);
  error:
-    virDomainDefFree(ret);
     return NULL;
 }
 
index a0cffac1b84e4b290b3f84bc2d9bbf804bf11fa5..7d3828162be0cd8b8c5dad710e1a014e18556b2a 100644 (file)
@@ -483,10 +483,10 @@ virDomainObjListLoadConfig(virDomainObjList *doms,
 {
     g_autofree char *configFile = NULL;
     g_autofree char *autostartLink = NULL;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     virDomainObj *dom;
     int autostart;
-    virDomainDef *oldDef = NULL;
+    g_autoptr(virDomainDef) oldDef = NULL;
 
     if ((configFile = virDomainConfigFile(configDir, name)) == NULL)
         goto error;
@@ -510,11 +510,9 @@ virDomainObjListLoadConfig(virDomainObjList *doms,
     if (notify)
         (*notify)(dom, oldDef == NULL, opaque);
 
-    virDomainDefFree(oldDef);
     return dom;
 
  error:
-    virDomainDefFree(def);
     return NULL;
 }
 
index 99e433ce930f8f978e90588d071cd40a002f3d07..467740804aea2c109413c3b886231e05a9b9d9d4 100644 (file)
@@ -2535,7 +2535,7 @@ esxDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
     g_autofree char *vmx = NULL;
     virVMXContext ctx;
     esxVMX_Data data;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     char *xml = NULL;
 
     virCheckFlags(VIR_DOMAIN_XML_COMMON_FLAGS, NULL);
@@ -2607,7 +2607,6 @@ esxDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
     esxVI_String_Free(&propertyNameList);
     esxVI_ObjectContent_Free(&virtualMachine);
     g_free(data.datastorePathWithoutFileName);
-    virDomainDefFree(def);
 
     return xml;
 }
@@ -2622,7 +2621,7 @@ esxConnectDomainXMLFromNative(virConnectPtr conn, const char *nativeFormat,
     esxPrivate *priv = conn->privateData;
     virVMXContext ctx;
     esxVMX_Data data;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     char *xml = NULL;
 
     virCheckFlags(0, NULL);
@@ -2651,8 +2650,6 @@ esxConnectDomainXMLFromNative(virConnectPtr conn, const char *nativeFormat,
         xml = virDomainDefFormat(def, priv->xmlopt,
                                  VIR_DOMAIN_DEF_FORMAT_INACTIVE);
 
-    virDomainDefFree(def);
-
     return xml;
 }
 
@@ -2667,7 +2664,7 @@ esxConnectDomainXMLToNative(virConnectPtr conn, const char *nativeFormat,
     int virtualHW_version;
     virVMXContext ctx;
     esxVMX_Data data;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     char *vmx = NULL;
 
     virCheckFlags(0, NULL);
@@ -2704,8 +2701,6 @@ esxConnectDomainXMLToNative(virConnectPtr conn, const char *nativeFormat,
 
     vmx = virVMXFormatConfig(&ctx, priv->xmlopt, def, virtualHW_version);
 
-    virDomainDefFree(def);
-
     return vmx;
 }
 
@@ -2866,7 +2861,7 @@ static virDomainPtr
 esxDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
 {
     esxPrivate *priv = conn->privateData;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     g_autofree char *vmx = NULL;
     size_t i;
     virDomainDiskDef *disk = NULL;
@@ -3065,7 +3060,6 @@ esxDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
     /* FIXME: Add proper rollback in case of an error */
 
  cleanup:
-    virDomainDefFree(def);
     esxVI_ObjectContent_Free(&virtualMachine);
     esxVI_String_Free(&propertyNameList);
     esxVI_ObjectContent_Free(&hostSystem);
index 366e3b9263a7de2b8c594337535d68b946df6e2a..e313157e9a44beb3c4a6b4d39815ffe779f1c218 100644 (file)
@@ -761,7 +761,7 @@ libxlDomainSaveImageOpen(libxlDriverPrivate *driver,
                          libxlSavefileHeader *ret_hdr)
 {
     int fd;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     libxlSavefileHeader hdr;
     g_autofree char *xml = NULL;
 
@@ -813,7 +813,6 @@ libxlDomainSaveImageOpen(libxlDriverPrivate *driver,
     return fd;
 
  error:
-    virDomainDefFree(def);
     VIR_FORCE_CLOSE(fd);
     return -1;
 }
@@ -1440,7 +1439,7 @@ libxlDomainStartNew(libxlDriverPrivate *driver,
 {
     g_autofree char *managed_save_path = NULL;
     int restore_fd = -1;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     libxlSavefileHeader hdr;
     uint32_t restore_ver = LIBXL_SAVE_VERSION;
     int ret = -1;
@@ -1483,7 +1482,6 @@ libxlDomainStartNew(libxlDriverPrivate *driver,
     ret = libxlDomainStart(driver, vm, start_paused, restore_fd, restore_ver);
 
  cleanup:
-    virDomainDefFree(def);
     VIR_FORCE_CLOSE(restore_fd);
     return ret;
 }
@@ -1504,9 +1502,9 @@ libxlDomainDefCheckABIStability(libxlDriverPrivate *driver,
                                 virDomainDef *src,
                                 virDomainDef *dst)
 {
-    virDomainDef *migratableDefSrc = NULL;
-    virDomainDef *migratableDefDst = NULL;
     bool ret = false;
+    g_autoptr(virDomainDef) migratableDefSrc = NULL;
+    g_autoptr(virDomainDef) migratableDefDst = NULL;
 
     if (!(migratableDefSrc = virDomainDefCopy(src, driver->xmlopt, NULL, true)) ||
         !(migratableDefDst = virDomainDefCopy(dst, driver->xmlopt, NULL, true)))
@@ -1517,8 +1515,6 @@ libxlDomainDefCheckABIStability(libxlDriverPrivate *driver,
                                         driver->xmlopt);
 
  cleanup:
-    virDomainDefFree(migratableDefSrc);
-    virDomainDefFree(migratableDefDst);
     return ret;
 }
 
index 23a28dc12418ab69dbbef6f2cb521c24371fd145..5b49089f7d16b2ff2a5a12f5d1e4562d5f013149 100644 (file)
@@ -563,7 +563,7 @@ static int
 libxlAddDom0(libxlDriverPrivate *driver)
 {
     libxlDriverConfig *cfg = libxlDriverConfigGet(driver);
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     virDomainObj *vm = NULL;
     libxl_dominfo d_info;
     unsigned long long maxmem;
@@ -619,7 +619,6 @@ libxlAddDom0(libxlDriverPrivate *driver)
 
  cleanup:
     libxl_dominfo_dispose(&d_info);
-    virDomainDefFree(def);
     virDomainObjEndAPI(&vm);
     virObjectUnref(cfg);
     return ret;
@@ -1008,7 +1007,7 @@ libxlDomainCreateXML(virConnectPtr conn, const char *xml,
                      unsigned int flags)
 {
     libxlDriverPrivate *driver = conn->privateData;
-    virDomainDef *def;
+    g_autoptr(virDomainDef) def = NULL;
     virDomainObj *vm = NULL;
     virDomainPtr dom = NULL;
     libxlDriverConfig *cfg = libxlDriverConfigGet(driver);
@@ -1053,7 +1052,6 @@ libxlDomainCreateXML(virConnectPtr conn, const char *xml,
     libxlDomainObjEndJob(driver, vm);
 
  cleanup:
-    virDomainDefFree(def);
     virDomainObjEndAPI(&vm);
     virObjectUnref(cfg);
     return dom;
@@ -1922,7 +1920,7 @@ libxlDomainRestoreFlags(virConnectPtr conn, const char *from,
 {
     libxlDriverPrivate *driver = conn->privateData;
     virDomainObj *vm = NULL;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     libxlSavefileHeader hdr;
     int fd = -1;
     int ret = -1;
@@ -1970,7 +1968,6 @@ libxlDomainRestoreFlags(virConnectPtr conn, const char *from,
  cleanup:
     if (VIR_CLOSE(fd) < 0)
         virReportSystemError(errno, "%s", _("cannot close file"));
-    virDomainDefFree(def);
     virDomainObjEndAPI(&vm);
     return ret;
 }
@@ -2633,7 +2630,7 @@ libxlConnectDomainXMLFromNative(virConnectPtr conn,
 {
     libxlDriverPrivate *driver = conn->privateData;
     libxlDriverConfig *cfg = libxlDriverConfigGet(driver);
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     g_autoptr(virConf) conf = NULL;
     char *xml = NULL;
 
@@ -2670,7 +2667,6 @@ libxlConnectDomainXMLFromNative(virConnectPtr conn,
     xml = virDomainDefFormat(def, driver->xmlopt, VIR_DOMAIN_DEF_FORMAT_INACTIVE);
 
  cleanup:
-    virDomainDefFree(def);
     virObjectUnref(cfg);
     return xml;
 }
@@ -2683,7 +2679,7 @@ libxlConnectDomainXMLToNative(virConnectPtr conn, const char * nativeFormat,
 {
     libxlDriverPrivate *driver = conn->privateData;
     libxlDriverConfig *cfg = libxlDriverConfigGet(driver);
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     g_autoptr(virConf) conf = NULL;
     int len = MAX_CONFIG_SIZE;
     char *ret = NULL;
@@ -2719,7 +2715,6 @@ libxlConnectDomainXMLToNative(virConnectPtr conn, const char * nativeFormat,
     }
 
  cleanup:
-    virDomainDefFree(def);
     virObjectUnref(cfg);
     return ret;
 }
@@ -2801,11 +2796,11 @@ libxlDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flag
 {
     libxlDriverPrivate *driver = conn->privateData;
     libxlDriverConfig *cfg = libxlDriverConfigGet(driver);
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     virDomainObj *vm = NULL;
     virDomainPtr dom = NULL;
     virObjectEvent *event = NULL;
-    virDomainDef *oldDef = NULL;
+    g_autoptr(virDomainDef) oldDef = NULL;
     unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE;
 
     virCheckFlags(VIR_DOMAIN_DEFINE_VALIDATE, NULL);
@@ -2845,8 +2840,6 @@ libxlDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flag
                                      VIR_DOMAIN_EVENT_DEFINED_UPDATED);
 
  cleanup:
-    virDomainDefFree(def);
-    virDomainDefFree(oldDef);
     virDomainObjEndAPI(&vm);
     virObjectEventStateQueue(driver->domainEventState, event);
     virObjectUnref(cfg);
@@ -4072,7 +4065,7 @@ libxlDomainAttachDeviceFlags(virDomainPtr dom, const char *xml,
     libxlDriverPrivate *driver = dom->conn->privateData;
     libxlDriverConfig *cfg = libxlDriverConfigGet(driver);
     virDomainObj *vm = NULL;
-    virDomainDef *vmdef = NULL;
+    g_autoptr(virDomainDef) vmdef = NULL;
     virDomainDeviceDef *devConf = NULL;
     virDomainDeviceDef devConfSave = { 0 };
     virDomainDeviceDef *devLive = NULL;
@@ -4147,7 +4140,6 @@ libxlDomainAttachDeviceFlags(virDomainPtr dom, const char *xml,
     libxlDomainObjEndJob(driver, vm);
 
  cleanup:
-    virDomainDefFree(vmdef);
     virDomainDeviceDefFree(devConf);
     virDomainDeviceDefFree(devLive);
     virDomainObjEndAPI(&vm);
@@ -4169,7 +4161,7 @@ libxlDomainDetachDeviceFlags(virDomainPtr dom, const char *xml,
     libxlDriverPrivate *driver = dom->conn->privateData;
     libxlDriverConfig *cfg = libxlDriverConfigGet(driver);
     virDomainObj *vm = NULL;
-    virDomainDef *vmdef = NULL;
+    g_autoptr(virDomainDef) vmdef = NULL;
     virDomainDeviceDef *dev = NULL;
     int ret = -1;
 
@@ -4236,7 +4228,6 @@ libxlDomainDetachDeviceFlags(virDomainPtr dom, const char *xml,
     libxlDomainObjEndJob(driver, vm);
 
  cleanup:
-    virDomainDefFree(vmdef);
     virDomainDeviceDefFree(dev);
     virDomainObjEndAPI(&vm);
     virObjectUnref(cfg);
@@ -4257,7 +4248,7 @@ libxlDomainUpdateDeviceFlags(virDomainPtr dom, const char *xml,
     libxlDriverPrivate *driver = dom->conn->privateData;
     libxlDriverConfig *cfg = libxlDriverConfigGet(driver);
     virDomainObj *vm = NULL;
-    virDomainDef *vmdef = NULL;
+    g_autoptr(virDomainDef) vmdef = NULL;
     virDomainDeviceDef *dev = NULL;
     int ret = -1;
 
@@ -4316,7 +4307,6 @@ libxlDomainUpdateDeviceFlags(virDomainPtr dom, const char *xml,
     }
 
  cleanup:
-    virDomainDefFree(vmdef);
     virDomainDeviceDefFree(dev);
     virDomainObjEndAPI(&vm);
     virObjectUnref(cfg);
@@ -5822,7 +5812,7 @@ libxlDomainMigratePrepareTunnel3Params(virConnectPtr dconn,
                                        unsigned int flags)
 {
     libxlDriverPrivate *driver = dconn->privateData;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     const char *dom_xml = NULL;
     const char *dname = NULL;
     const char *uri_in = NULL;
@@ -5861,7 +5851,6 @@ libxlDomainMigratePrepareTunnel3Params(virConnectPtr dconn,
     return 0;
 
  error:
-    virDomainDefFree(def);
     return -1;
 }
 
@@ -5877,7 +5866,7 @@ libxlDomainMigratePrepare3Params(virConnectPtr dconn,
                                  unsigned int flags)
 {
     libxlDriverPrivate *driver = dconn->privateData;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     const char *dom_xml = NULL;
     const char *dname = NULL;
     const char *uri_in = NULL;
@@ -5889,7 +5878,7 @@ libxlDomainMigratePrepare3Params(virConnectPtr dconn,
 
     virCheckFlags(LIBXL_MIGRATION_FLAGS, -1);
     if (virTypedParamsValidate(params, nparams, LIBXL_MIGRATION_PARAMETERS) < 0)
-        goto error;
+        return -1;
 
     if (virTypedParamsGetString(params, nparams,
                                 VIR_MIGRATE_PARAM_DEST_XML,
@@ -5916,7 +5905,6 @@ libxlDomainMigratePrepare3Params(virConnectPtr dconn,
     return 0;
 
  error:
-    virDomainDefFree(def);
     return -1;
 }
 
index cdd714d6b875b203ea2d0c112633569b0ee0e083..6d0ab4ee2870c92297b99720a701fa9f0308223e 100644 (file)
@@ -379,7 +379,7 @@ libxlDomainMigrationSrcBegin(virConnectPtr conn,
     libxlDriverPrivate *driver = conn->privateData;
     libxlDriverConfig *cfg = libxlDriverConfigGet(driver);
     libxlMigrationCookie *mig = NULL;
-    virDomainDef *tmpdef = NULL;
+    g_autoptr(virDomainDef) tmpdef = NULL;
     virDomainDef *def;
     char *xml = NULL;
 
@@ -426,7 +426,6 @@ libxlDomainMigrationSrcBegin(virConnectPtr conn,
 
  cleanup:
     libxlMigrationCookieFree(mig);
-    virDomainDefFree(tmpdef);
     virObjectUnref(cfg);
     return xml;
 }
index 17c5184b9b8106ffda89015d1a5d9d5fabf3d19e..fc05f8f502ec7c34285af4a1aca18c3bcb9b2983 100644 (file)
@@ -1115,7 +1115,7 @@ xenParseXL(virConf *conf,
            virCaps *caps,
            virDomainXMLOption *xmlopt)
 {
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
 
     if (!(def = virDomainDefNew(xmlopt)))
         return NULL;
@@ -1165,10 +1165,9 @@ xenParseXL(virConf *conf,
                               xmlopt, NULL) < 0)
         goto cleanup;
 
-    return def;
+    return g_steal_pointer(&def);
 
  cleanup:
-    virDomainDefFree(def);
     return NULL;
 }
 
index ffcd4a7e8f059b4303439568dd187c928233b715..1fc3e99b088f72aa362ba46b3d38722e103268b0 100644 (file)
@@ -408,7 +408,7 @@ xenParseXM(virConf *conf,
            virCaps *caps,
            virDomainXMLOption *xmlopt)
 {
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
 
     if (!(def = virDomainDefNew(xmlopt)))
         return NULL;
@@ -433,10 +433,9 @@ xenParseXM(virConf *conf,
                               xmlopt, NULL) < 0)
         goto cleanup;
 
-    return def;
+    return g_steal_pointer(&def);
 
  cleanup:
-    virDomainDefFree(def);
     return NULL;
 }
 
index 3cdf73c69fa2c790bd3c4feff803a0bb37b4cc13..349783ca7ce1a3961b45f9449a7f7176394bb615 100644 (file)
@@ -399,11 +399,11 @@ static virDomainPtr
 lxcDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
 {
     virLXCDriver *driver = conn->privateData;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     virDomainObj *vm = NULL;
     virDomainPtr dom = NULL;
     virObjectEvent *event = NULL;
-    virDomainDef *oldDef = NULL;
+    g_autoptr(virDomainDef) oldDef = NULL;
     virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver);
     virCaps *caps = NULL;
     unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE;
@@ -457,8 +457,6 @@ lxcDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
     dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
 
  cleanup:
-    virDomainDefFree(def);
-    virDomainDefFree(oldDef);
     virDomainObjEndAPI(&vm);
     virObjectEventStateQueue(driver->domainEventState, event);
     virObjectUnref(caps);
@@ -937,7 +935,7 @@ static char *lxcConnectDomainXMLFromNative(virConnectPtr conn,
                                            unsigned int flags)
 {
     char *xml = NULL;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     virLXCDriver *driver = conn->privateData;
     virCaps *caps = virLXCDriverGetCapabilities(driver, false);
 
@@ -959,7 +957,6 @@ static char *lxcConnectDomainXMLFromNative(virConnectPtr conn,
 
  cleanup:
     virObjectUnref(caps);
-    virDomainDefFree(def);
     return xml;
 }
 
@@ -1081,7 +1078,7 @@ lxcDomainCreateXMLWithFiles(virConnectPtr conn,
 {
     virLXCDriver *driver = conn->privateData;
     virDomainObj *vm = NULL;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     virDomainPtr dom = NULL;
     virObjectEvent *event = NULL;
     virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver);
@@ -1151,7 +1148,6 @@ lxcDomainCreateXMLWithFiles(virConnectPtr conn,
     virLXCDomainObjEndJob(driver, vm);
 
  cleanup:
-    virDomainDefFree(def);
     virDomainObjEndAPI(&vm);
     virObjectEventStateQueue(driver->domainEventState, event);
     virObjectUnref(caps);
@@ -1811,7 +1807,7 @@ lxcDomainSetSchedulerParametersFlags(virDomainPtr dom,
     size_t i;
     virDomainObj *vm = NULL;
     virDomainDef *def = NULL;
-    virDomainDef *persistentDefCopy = NULL;
+    g_autoptr(virDomainDef) persistentDefCopy = NULL;
     virDomainDef *persistentDef = NULL;
     int ret = -1;
     int rc;
@@ -1924,7 +1920,6 @@ lxcDomainSetSchedulerParametersFlags(virDomainPtr dom,
     virLXCDomainObjEndJob(driver, vm);
 
  cleanup:
-    virDomainDefFree(persistentDefCopy);
     virDomainObjEndAPI(&vm);
     virObjectUnref(caps);
     virObjectUnref(cfg);
@@ -4289,7 +4284,7 @@ static int lxcDomainAttachDeviceFlags(virDomainPtr dom,
 {
     virLXCDriver *driver = dom->conn->privateData;
     virDomainObj *vm = NULL;
-    virDomainDef *vmdef = NULL;
+    g_autoptr(virDomainDef) vmdef = NULL;
     virDomainDeviceDef *dev = NULL;
     virDomainDeviceDef *dev_copy = NULL;
     int ret = -1;
@@ -4373,7 +4368,6 @@ static int lxcDomainAttachDeviceFlags(virDomainPtr dom,
     virLXCDomainObjEndJob(driver, vm);
 
  cleanup:
-    virDomainDefFree(vmdef);
     if (dev != dev_copy)
         virDomainDeviceDefFree(dev_copy);
     virDomainDeviceDefFree(dev);
@@ -4397,7 +4391,7 @@ static int lxcDomainUpdateDeviceFlags(virDomainPtr dom,
 {
     virLXCDriver *driver = dom->conn->privateData;
     virDomainObj *vm = NULL;
-    virDomainDef *vmdef = NULL;
+    g_autoptr(virDomainDef) vmdef = NULL;
     virDomainDeviceDef *dev = NULL;
     int ret = -1;
     virLXCDriverConfig *cfg = virLXCDriverGetConfig(driver);
@@ -4446,7 +4440,6 @@ static int lxcDomainUpdateDeviceFlags(virDomainPtr dom,
     virLXCDomainObjEndJob(driver, vm);
 
  cleanup:
-    virDomainDefFree(vmdef);
     virDomainDeviceDefFree(dev);
     virDomainObjEndAPI(&vm);
     virObjectUnref(cfg);
@@ -4461,7 +4454,7 @@ static int lxcDomainDetachDeviceFlags(virDomainPtr dom,
     virLXCDriver *driver = dom->conn->privateData;
     virCaps *caps = NULL;
     virDomainObj *vm = NULL;
-    virDomainDef *vmdef = NULL;
+    g_autoptr(virDomainDef) vmdef = NULL;
     virDomainDeviceDef *dev = NULL;
     virDomainDeviceDef *dev_copy = NULL;
     int ret = -1;
@@ -4539,7 +4532,6 @@ static int lxcDomainDetachDeviceFlags(virDomainPtr dom,
     virLXCDomainObjEndJob(driver, vm);
 
  cleanup:
-    virDomainDefFree(vmdef);
     if (dev != dev_copy)
         virDomainDeviceDefFree(dev_copy);
     virDomainDeviceDefFree(dev);
index f3b8e8514304b9bdd4d17f2f6003d543ae681ad2..8f38c6e086fc6eeafc2f16ebb77344a55fc8814f 100644 (file)
@@ -1086,7 +1086,7 @@ lxcParseConfigString(const char *config,
                      virCaps *caps G_GNUC_UNUSED,
                      virDomainXMLOption *xmlopt)
 {
-    virDomainDef *vmdef = NULL;
+    g_autoptr(virDomainDef) vmdef = NULL;
     g_autoptr(virConf) properties = NULL;
     g_autofree char *value = NULL;
 
@@ -1199,9 +1199,8 @@ lxcParseConfigString(const char *config,
                               xmlopt, NULL) < 0)
         goto error;
 
-    return vmdef;
+    return g_steal_pointer(&vmdef);
 
  error:
-    virDomainDefFree(vmdef);
     return NULL;
 }
index e2fbc28abc612925740c2e4ed8e71ac9f76765d2..4fb18c03ee2ed7e22e59c545b5ae7362740a315d 100644 (file)
@@ -446,7 +446,7 @@ int openvzLoadDomains(struct openvz_driver *driver)
     char *status;
     char uuidstr[VIR_UUID_STRING_BUFLEN];
     virDomainObj *dom = NULL;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     char *temp = NULL;
     char *outbuf = NULL;
     char *line;
@@ -559,7 +559,6 @@ int openvzLoadDomains(struct openvz_driver *driver)
     virCommandFree(cmd);
     VIR_FREE(temp);
     VIR_FREE(outbuf);
-    virDomainDefFree(def);
     return -1;
 }
 
index d9c71a5722066fcae5b29278fad98747d4392389..ce3262c0e2729e3505e9b257ef531c950e3c6d8d 100644 (file)
@@ -824,7 +824,7 @@ static virDomainPtr
 openvzDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
 {
     struct openvz_driver *driver =  conn->privateData;
-    virDomainDef *vmdef = NULL;
+    g_autoptr(virDomainDef) vmdef = NULL;
     virDomainObj *vm = NULL;
     virDomainPtr dom = NULL;
     unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE;
@@ -895,7 +895,6 @@ openvzDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int fla
     dom = virGetDomain(conn, vm->def->name, vm->def->uuid, -1);
 
  cleanup:
-    virDomainDefFree(vmdef);
     virDomainObjEndAPI(&vm);
     openvzDriverUnlock(driver);
     return dom;
@@ -913,7 +912,7 @@ openvzDomainCreateXML(virConnectPtr conn, const char *xml,
 {
     g_autoptr(virCommand) cmd = virCommandNewArgList(VZCTL, "--quiet", "start", NULL);
     struct openvz_driver *driver =  conn->privateData;
-    virDomainDef *vmdef = NULL;
+    g_autoptr(virDomainDef) vmdef = NULL;
     virDomainObj *vm = NULL;
     virDomainPtr dom = NULL;
     unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE;
@@ -983,7 +982,6 @@ openvzDomainCreateXML(virConnectPtr conn, const char *xml,
     dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
 
  cleanup:
-    virDomainDefFree(vmdef);
     virDomainObjEndAPI(&vm);
     openvzDriverUnlock(driver);
     return dom;
@@ -2063,7 +2061,7 @@ openvzDomainMigratePrepare3Params(virConnectPtr dconn,
     struct openvz_driver *driver = dconn->privateData;
     const char *dom_xml = NULL;
     const char *uri_in = NULL;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     virDomainObj *vm = NULL;
     g_autofree char *my_hostname = NULL;
     const char *hostname = NULL;
@@ -2138,7 +2136,6 @@ openvzDomainMigratePrepare3Params(virConnectPtr dconn,
     goto done;
 
  error:
-    virDomainDefFree(def);
     if (vm)
         virDomainObjListRemove(driver->domains, vm);
 
index e14e2987f1ca231a4bca93c7368d955e5b30cf6f..cdba3aa34dafab9957b9eb27a06f060b00506668 100644 (file)
@@ -719,8 +719,8 @@ qemuSaveImageUpdateDef(virQEMUDriver *driver,
                        const char *newxml)
 {
     virDomainDef *ret = NULL;
-    virDomainDef *newdef_migr = NULL;
-    virDomainDef *newdef = NULL;
+    g_autoptr(virDomainDef) newdef_migr = NULL;
+    g_autoptr(virDomainDef) newdef = NULL;
 
     if (!(newdef = virDomainDefParseString(newxml, driver->xmlopt, NULL,
                                            VIR_DOMAIN_DEF_PARSE_INACTIVE)))
@@ -756,8 +756,5 @@ qemuSaveImageUpdateDef(virQEMUDriver *driver,
     }
 
  cleanup:
-    virDomainDefFree(newdef);
-    virDomainDefFree(newdef_migr);
-
     return ret;
 }
index b6bca884f046682dfe3fce4301e257749f325c3d..4d6ee3098e1408dc983cc0b292b3a8441699703f 100644 (file)
@@ -1029,7 +1029,7 @@ testParseDomains(testDriver *privconn,
         return -1;
 
     for (i = 0; i < num; i++) {
-        virDomainDef *def;
+        g_autoptr(virDomainDef) def = NULL;
         testDomainNamespaceDef *nsdata;
         xmlNodePtr node = testParseXMLDocFromFile(nodes[i], file, "domain");
         if (!node)
@@ -1046,7 +1046,6 @@ testParseDomains(testDriver *privconn,
                                         &def,
                                         privconn->xmlopt,
                                         0, NULL))) {
-            virDomainDefFree(def);
             goto error;
         }
 
@@ -1750,7 +1749,7 @@ testDomainCreateXML(virConnectPtr conn, const char *xml,
 {
     testDriver *privconn = conn->privateData;
     virDomainPtr ret = NULL;
-    virDomainDef *def;
+    g_autoptr(virDomainDef) def = NULL;
     virDomainObj *dom = NULL;
     virObjectEvent *event = NULL;
     unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE;
@@ -1790,7 +1789,6 @@ testDomainCreateXML(virConnectPtr conn, const char *xml,
  cleanup:
     virDomainObjEndAPI(&dom);
     virObjectEventStateQueue(privconn->eventState, event);
-    virDomainDefFree(def);
     virObjectUnlock(privconn);
     return ret;
 }
@@ -2388,7 +2386,7 @@ testDomainSaveImageOpen(testDriver *driver,
     char magic[15];
     int fd = -1;
     int len;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     g_autofree char *xml = NULL;
 
     if ((fd = open(path, O_RDONLY)) < 0) {
@@ -2436,7 +2434,6 @@ testDomainSaveImageOpen(testDriver *driver,
     return fd;
 
  error:
-    virDomainDefFree(def);
     VIR_FORCE_CLOSE(fd);
     return -1;
 }
@@ -2498,7 +2495,7 @@ testDomainRestoreFlags(virConnectPtr conn,
 {
     testDriver *privconn = conn->privateData;
     int fd = -1;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     virDomainObj *dom = NULL;
     virObjectEvent *event = NULL;
     int ret = -1;
@@ -2535,7 +2532,6 @@ testDomainRestoreFlags(virConnectPtr conn,
     ret = 0;
 
  cleanup:
-    virDomainDefFree(def);
     VIR_FORCE_CLOSE(fd);
     virDomainObjEndAPI(&dom);
     virObjectEventStateQueue(privconn->eventState, event);
@@ -2558,8 +2554,8 @@ testDomainSaveImageDefineXML(virConnectPtr conn,
 {
     int ret = -1;
     int fd = -1;
-    virDomainDef *def = NULL;
-    virDomainDef *newdef = NULL;
+    g_autoptr(virDomainDef) def = NULL;
+    g_autoptr(virDomainDef) newdef = NULL;
     testDriver *privconn = conn->privateData;
 
     virCheckFlags(VIR_DOMAIN_SAVE_RUNNING |
@@ -2579,8 +2575,6 @@ testDomainSaveImageDefineXML(virConnectPtr conn,
     ret = 0;
 
  cleanup:
-    virDomainDefFree(def);
-    virDomainDefFree(newdef);
     return ret;
 }
 
@@ -2592,7 +2586,7 @@ testDomainSaveImageGetXMLDesc(virConnectPtr conn,
 {
     int fd = -1;
     char *ret = NULL;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     testDriver *privconn = conn->privateData;
 
     virCheckFlags(VIR_DOMAIN_SAVE_IMAGE_XML_SECURE, NULL);
@@ -2604,7 +2598,6 @@ testDomainSaveImageGetXMLDesc(virConnectPtr conn,
                              VIR_DOMAIN_DEF_FORMAT_SECURE);
 
  cleanup:
-    virDomainDefFree(def);
     VIR_FORCE_CLOSE(fd);
     return ret;
 }
@@ -4185,10 +4178,10 @@ static virDomainPtr testDomainDefineXMLFlags(virConnectPtr conn,
 {
     testDriver *privconn = conn->privateData;
     virDomainPtr ret = NULL;
-    virDomainDef *def;
+    g_autoptr(virDomainDef) def = NULL;
     virDomainObj *dom = NULL;
     virObjectEvent *event = NULL;
-    virDomainDef *oldDef = NULL;
+    g_autoptr(virDomainDef) oldDef = NULL;
     unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE;
 
     virCheckFlags(VIR_DOMAIN_DEFINE_VALIDATE, NULL);
@@ -4222,8 +4215,6 @@ static virDomainPtr testDomainDefineXMLFlags(virConnectPtr conn,
     ret = virGetDomain(conn, dom->def->name, dom->def->uuid, dom->def->id);
 
  cleanup:
-    virDomainDefFree(def);
-    virDomainDefFree(oldDef);
     virDomainObjEndAPI(&dom);
     virObjectEventStateQueue(privconn->eventState, event);
     return ret;
index 72f1b9c46606ede89fa6922697078225e9d4f454..d3251863e6150d40274f94cad42962f7dcce2fa1 100644 (file)
@@ -1858,7 +1858,7 @@ vboxDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags
     IMachine *machine = NULL;
     IBIOSSettings *bios = NULL;
     vboxIID mchiid;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     nsresult rc;
     char uuidstr[VIR_UUID_STRING_BUFLEN];
     virDomainPtr ret = NULL;
@@ -1979,8 +1979,6 @@ vboxDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags
     /* if machine wasn't even created, cleanup is trivial */
     if (!machine) {
         vboxIIDUnalloc(&mchiid);
-        virDomainDefFree(def);
-
         return ret;
     }
 
@@ -2013,7 +2011,6 @@ vboxDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags
 
     VBOX_RELEASE(machine);
     vboxIIDUnalloc(&mchiid);
-    virDomainDefFree(def);
 
     return ret;
 }
@@ -3964,7 +3961,7 @@ vboxDumpParallel(virDomainDef *def, struct _vboxDriver *data, IMachine *machine,
 static char *vboxDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
 {
     struct _vboxDriver *data = dom->conn->privateData;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     IMachine *machine = NULL;
     vboxIID iid;
     PRBool accessible = PR_FALSE;
@@ -4115,7 +4112,6 @@ static char *vboxDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
  cleanup:
     VBOX_RELEASE(machine);
     vboxIIDUnalloc(&iid);
-    virDomainDefFree(def);
     return ret;
 }
 
@@ -4226,7 +4222,7 @@ static int vboxDomainAttachDeviceImpl(virDomainPtr dom,
     IMachine *machine = NULL;
     vboxIID iid;
     PRUint32 state;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     virDomainDeviceDef *dev = NULL;
     nsresult rc;
     int ret = -1;
@@ -4305,7 +4301,6 @@ static int vboxDomainAttachDeviceImpl(virDomainPtr dom,
 
  cleanup:
     vboxIIDUnalloc(&iid);
-    virDomainDefFree(def);
     virDomainDeviceDefFree(dev);
     return ret;
 }
@@ -4345,7 +4340,7 @@ static int vboxDomainDetachDevice(virDomainPtr dom, const char *xml)
     IMachine *machine = NULL;
     vboxIID iid;
     PRUint32 state;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     virDomainDeviceDef *dev = NULL;
     nsresult rc;
     int ret = -1;
@@ -4422,7 +4417,6 @@ static int vboxDomainDetachDevice(virDomainPtr dom, const char *xml)
 
  cleanup:
     vboxIIDUnalloc(&iid);
-    virDomainDefFree(def);
     virDomainDeviceDefFree(dev);
     return ret;
 }
index ab03617d9581a158d18b4d680dc3a40c8bc61c0b..8c8ecc81208ef1de31dee68cdcd7e3af338bb9a1 100644 (file)
@@ -117,7 +117,6 @@ vmwareCapsInit(void)
 int
 vmwareLoadDomains(struct vmware_driver *driver)
 {
-    virDomainDef *vmdef = NULL;
     virDomainObj *vm = NULL;
     char *vmxPath = NULL;
     char *vmx = NULL;
@@ -141,8 +140,8 @@ vmwareLoadDomains(struct vmware_driver *driver)
     if (virCommandRun(cmd, NULL) < 0)
         goto cleanup;
 
-    for (str = outbuf; (vmxPath = strtok_r(str, "\n", &saveptr)) != NULL;
-        str = NULL) {
+    for (str = outbuf; (vmxPath = strtok_r(str, "\n", &saveptr)) != NULL; str = NULL) {
+        g_autoptr(virDomainDef) vmdef = NULL;
 
         if (!g_path_is_absolute(vmxPath))
             continue;
@@ -182,7 +181,6 @@ vmwareLoadDomains(struct vmware_driver *driver)
  cleanup:
     virCommandFree(cmd);
     VIR_FREE(outbuf);
-    virDomainDefFree(vmdef);
     VIR_FREE(vmx);
     virObjectUnref(vm);
     return ret;
index e6843ee74552960c5d25b19c7cd121da073fc9dc..8f107dd529494b79293482457193567200e87293 100644 (file)
@@ -394,7 +394,7 @@ static virDomainPtr
 vmwareDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
 {
     struct vmware_driver *driver = conn->privateData;
-    virDomainDef *vmdef = NULL;
+    g_autoptr(virDomainDef) vmdef = NULL;
     virDomainObj *vm = NULL;
     virDomainPtr dom = NULL;
     char *vmx = NULL;
@@ -454,7 +454,6 @@ vmwareDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int fla
     dom = virGetDomain(conn, vm->def->name, vm->def->uuid, -1);
 
  cleanup:
-    virDomainDefFree(vmdef);
     VIR_FREE(vmx);
     VIR_FREE(vmxPath);
     if (vm)
@@ -646,7 +645,7 @@ vmwareDomainCreateXML(virConnectPtr conn, const char *xml,
                       unsigned int flags)
 {
     struct vmware_driver *driver = conn->privateData;
-    virDomainDef *vmdef = NULL;
+    g_autoptr(virDomainDef) vmdef = NULL;
     virDomainObj *vm = NULL;
     virDomainPtr dom = NULL;
     char *vmx = NULL;
@@ -709,7 +708,6 @@ vmwareDomainCreateXML(virConnectPtr conn, const char *xml,
     dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
 
  cleanup:
-    virDomainDefFree(vmdef);
     VIR_FREE(vmx);
     VIR_FREE(vmxPath);
     virDomainObjEndAPI(&vm);
@@ -937,7 +935,7 @@ vmwareConnectDomainXMLFromNative(virConnectPtr conn, const char *nativeFormat,
 {
     struct vmware_driver *driver = conn->privateData;
     virVMXContext ctx;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     char *xml = NULL;
 
     virCheckFlags(0, NULL);
@@ -959,8 +957,6 @@ vmwareConnectDomainXMLFromNative(virConnectPtr conn, const char *nativeFormat,
         xml = virDomainDefFormat(def, driver->xmlopt,
                                  VIR_DOMAIN_DEF_FORMAT_INACTIVE);
 
-    virDomainDefFree(def);
-
     return xml;
 }
 
index d3540acd84a815b76c80322a00ad0bf2a9ba897a..ca65caa9a10a2d4829d4ddc902f633a77494d55d 100644 (file)
@@ -1382,7 +1382,7 @@ virVMXParseConfig(virVMXContext *ctx,
     g_autoptr(virConf) conf = NULL;
     char *encoding = NULL;
     char *utf8;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     long long config_version = 0;
     long long virtualHW_version = 0;
     long long memsize = 0;
@@ -1982,11 +1982,6 @@ virVMXParseConfig(virVMXContext *ctx,
     success = true;
 
  cleanup:
-    if (! success) {
-        virDomainDefFree(def);
-        def = NULL;
-    }
-
     VIR_FREE(encoding);
     VIR_FREE(sched_cpu_affinity);
     VIR_FREE(sched_cpu_shares);
@@ -1994,7 +1989,10 @@ virVMXParseConfig(virVMXContext *ctx,
     virCPUDefFree(cpu);
     VIR_FREE(firmware);
 
-    return def;
+    if (!success)
+        return NULL;
+
+    return g_steal_pointer(&def);
 }
 
 
index 23b77950359573d384a79b77c15722a6c23b5a6f..ff5f7cb2e76f5babd3507d3a9c1ad5af6928b560 100644 (file)
@@ -788,7 +788,7 @@ vzDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
 {
     struct _vzConn *privconn = conn->privateData;
     virDomainPtr retdom = NULL;
-    virDomainDef *def;
+    g_autoptr(virDomainDef) def = NULL;
     virDomainObj *dom = NULL;
     unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE;
     struct _vzDriver *driver = privconn->driver;
@@ -872,7 +872,6 @@ vzDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags)
     if (job)
         vzDomainObjEndJob(dom);
     virDomainObjEndAPI(&dom);
-    virDomainDefFree(def);
     return retdom;
 }
 
@@ -2964,7 +2963,7 @@ vzDomainMigratePrepare3Params(virConnectPtr conn,
     const char *miguri = NULL;
     const char *dname = NULL;
     const char *dom_xml = NULL;
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     int ret = -1;
 
     virCheckFlags(VZ_MIGRATION_FLAGS, -1);
@@ -3009,7 +3008,6 @@ vzDomainMigratePrepare3Params(virConnectPtr conn,
     ret = 0;
 
  cleanup:
-    virDomainDefFree(def);
     return ret;
 }
 
index 1772f75c3eef8c2d21a3feb33624fa0f98416fe9..7869b5c94df2ef0aea3dba4c0e2f65feb94b3fb2 100644 (file)
@@ -1777,7 +1777,7 @@ prlsdkLoadDomain(struct _vzDriver *driver,
                  PRL_HANDLE sdkdom,
                  virDomainObj *dom)
 {
-    virDomainDef *def = NULL;
+    g_autoptr(virDomainDef) def = NULL;
     struct vzDomObj *pdom = NULL;
     VIRTUAL_MACHINE_STATE domainState;
 
@@ -1883,7 +1883,6 @@ prlsdkLoadDomain(struct _vzDriver *driver,
         virObjectUnlock(driver);
 
         if (olddom) {
-            virDomainDefFree(def);
             return olddom;
         } else if (!dom) {
             goto error;
@@ -1898,7 +1897,7 @@ prlsdkLoadDomain(struct _vzDriver *driver,
          * we can't use virDomainObjAssignDef, because it checks
          * for state and domain name */
         virDomainDefFree(dom->def);
-        dom->def = def;
+        dom->def = g_steal_pointer(&def);
     }
 
     pdom = dom->privateData;
@@ -1914,7 +1913,6 @@ prlsdkLoadDomain(struct _vzDriver *driver,
     return dom;
 
  error:
-    virDomainDefFree(def);
     return NULL;
 }
 
index 119ad6df34c7c1d99b4848f722032c7dbb90e346..4912cc34838a074b055d8e899e80113dcceb3923 100644 (file)
@@ -64,7 +64,7 @@ testBuildDomainDef(bool dynamic,
                    const char *label,
                    const char *baselabel)
 {
-    virDomainDef *def;
+    g_autoptr(virDomainDef) def = NULL;
     virSecurityLabelDef *secdef = NULL;
 
     if (!(def = virDomainDefNew(NULL)))
@@ -86,10 +86,9 @@ testBuildDomainDef(bool dynamic,
 
     def->seclabels[0] = secdef;
     def->nseclabels++;
-    return def;
+    return g_steal_pointer(&def);
 
  error:
-    virDomainDefFree(def);
     virSecurityLabelDefFree(secdef);
     return NULL;
 }
@@ -211,7 +210,7 @@ testSELinuxGenLabel(const void *opaque)
 {
     const struct testSELinuxGenLabelData *data = opaque;
     int ret = -1;
-    virDomainDef *def;
+    g_autoptr(virDomainDef) def = NULL;
     context_t con = NULL;
     context_t imgcon = NULL;
 
@@ -255,7 +254,6 @@ testSELinuxGenLabel(const void *opaque)
  cleanup:
     context_free(con);
     context_free(imgcon);
-    virDomainDefFree(def);
     return ret;
 }