virNetworkXMLOption *xmlopt)
{
g_autofree char *configFile = NULL;
- virNetworkDef *def = NULL;
+ g_autoptr(virNetworkDef) def = NULL;
virNetworkObj *obj = NULL;
g_autoptr(xmlDoc) xml = NULL;
xmlNodePtr node = NULL;
VIR_NETWORK_OBJ_LIST_ADD_LIVE)))
goto error;
/* do not put any "goto error" below this comment */
+ def = NULL;
/* assign status data stored in the network object */
if (classIdMap) {
return obj;
error:
- virNetworkDefFree(def);
return NULL;
}
virNetworkXMLOption *xmlopt)
{
char *configFile = NULL, *autostartLink = NULL;
- virNetworkDef *def = NULL;
+ g_autoptr(virNetworkDef) def = NULL;
virNetworkObj *obj;
bool saveConfig = false;
int autostart;
if (!(obj = virNetworkObjAssignDef(nets, def, 0)))
goto error;
+ def = NULL;
+
obj->autostart = (autostart == 1);
VIR_FREE(configFile);
error:
VIR_FREE(configFile);
VIR_FREE(autostartLink);
- virNetworkDefFree(def);
return NULL;
}
unsigned int flags) /* virNetworkUpdateFlags */
{
int ret = -1;
- virNetworkDef *livedef = NULL;
- virNetworkDef *configdef = NULL;
+ g_autoptr(virNetworkDef) livedef = NULL;
+ g_autoptr(virNetworkDef) configdef = NULL;
/* normalize config data, and check for common invalid requests. */
if (virNetworkObjConfigChangeSetup(obj, xmlopt, flags) < 0)
goto cleanup;
if (flags & VIR_NETWORK_UPDATE_AFFECT_LIVE) {
- virNetworkDef *checkdef;
+ g_autoptr(virNetworkDef) checkdef = NULL;
/* work on a copy of the def */
if (!(livedef = virNetworkDefCopy(obj->def, xmlopt, 0)))
*/
if (!(checkdef = virNetworkDefCopy(livedef, xmlopt, 0)))
goto cleanup;
- virNetworkDefFree(checkdef);
}
if (flags & VIR_NETWORK_UPDATE_AFFECT_CONFIG) {
- virNetworkDef *checkdef;
+ g_autoptr(virNetworkDef) checkdef = NULL;
/* work on a copy of the def */
if (!(configdef = virNetworkDefCopy(virNetworkObjGetPersistentDef(obj),
VIR_NETWORK_XML_INACTIVE))) {
goto cleanup;
}
- virNetworkDefFree(checkdef);
}
if (configdef) {
ret = 0;
cleanup:
- virNetworkDefFree(livedef);
- virNetworkDefFree(configdef);
return ret;
}