VIR_FREE(def);
}
-void virDomainNetDefFree(virDomainNetDefPtr def)
+void
+virDomainNetDefClear(virDomainNetDefPtr def)
{
size_t i;
case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
virDomainChrSourceDefFree(def->data.vhostuser);
+ def->data.vhostuser = NULL;
break;
case VIR_DOMAIN_NET_TYPE_SERVER:
VIR_FREE(def->data.network.name);
VIR_FREE(def->data.network.portgroup);
virDomainActualNetDefFree(def->data.network.actual);
+ def->data.network.actual = NULL;
break;
case VIR_DOMAIN_NET_TYPE_BRIDGE:
VIR_FREE(def->filter);
virNWFilterHashTableFree(def->filterparams);
+ def->filterparams = NULL;
virNetDevBandwidthFree(def->bandwidth);
+ def->bandwidth = NULL;
virNetDevVlanClear(&def->vlan);
+}
+void
+virDomainNetDefFree(virDomainNetDefPtr def)
+{
+ if (!def)
+ return;
+ virDomainNetDefClear(def);
VIR_FREE(def);
}
virDomainControllerDefNew(virDomainControllerType type);
void virDomainFSDefFree(virDomainFSDefPtr def);
void virDomainActualNetDefFree(virDomainActualNetDefPtr def);
+void virDomainNetDefClear(virDomainNetDefPtr def);
void virDomainNetDefFree(virDomainNetDefPtr def);
void virDomainSmartcardDefFree(virDomainSmartcardDefPtr def);
void virDomainChrDefFree(virDomainChrDefPtr def);