diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index cbaa32e174593fd8c022c76195f27edcb4503c76..da2175713d6adc04a3b5902fe3f45bd162842533 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -1105,11 +1105,11 @@ static int
virDomainKeyWrapCipherDefParseXML(virDomainKeyWrapDefPtr keywrap,
xmlNodePtr node)
{
- char *name = NULL;
- char *state = NULL;
int state_type;
int name_type;
int ret = -1;
+ VIR_AUTOFREE(char *) name = NULL;
+ VIR_AUTOFREE(char *) state = NULL;
if (!(name = virXMLPropString(node, "name"))) {
virReportError(VIR_ERR_CONF_SYNTAX, "%s",
@@ -1167,8 +1167,6 @@ virDomainKeyWrapCipherDefParseXML(virDomainKeyWrapDefPtr keywrap,
ret = 0;
cleanup:
- VIR_FREE(name);
- VIR_FREE(state);
return ret;
}
@@ -1177,8 +1175,8 @@ virDomainKeyWrapDefParseXML(virDomainDefPtr def, xmlXPathContextPtr ctxt)
{
size_t i;
int ret = -1;
- xmlNodePtr *nodes = NULL;
int n;
+ VIR_AUTOFREE(xmlNodePtr *) nodes = NULL;
if ((n = virXPathNodeSet("./keywrap/cipher", ctxt, &nodes)) < 0)
return n;
@@ -1200,7 +1198,6 @@ virDomainKeyWrapDefParseXML(virDomainDefPtr def, xmlXPathContextPtr ctxt)
cleanup:
if (ret < 0)
VIR_FREE(def->keywrap);
- VIR_FREE(nodes);
return ret;
}
@@ -1273,10 +1270,10 @@ static int
virDomainVirtioOptionsParseXML(xmlNodePtr driver,
virDomainVirtioOptionsPtr *virtio)
{
- char *str = NULL;
int ret = -1;
int val;
virDomainVirtioOptionsPtr res;
+ VIR_AUTOFREE(char *) str = NULL;
if (*virtio || !driver)
return 0;
@@ -1308,7 +1305,6 @@ virDomainVirtioOptionsParseXML(xmlNodePtr driver,
ret = 0;
cleanup:
- VIR_FREE(str);
return ret;
}
@@ -1350,8 +1346,8 @@ static int
virDomainBlkioDeviceParseXML(xmlNodePtr root,
virBlkioDevicePtr dev)
{
- char *c = NULL;
xmlNodePtr node;
+ VIR_AUTOFREE(char *) c = NULL;
node = root->children;
while (node) {
@@ -1416,7 +1412,6 @@ virDomainBlkioDeviceParseXML(xmlNodePtr root,
return 0;
error:
- VIR_FREE(c);
VIR_FREE(dev->path);
return -1;
}
@@ -5337,8 +5332,8 @@ virDomainDefCollectBootOrder(virDomainDefPtr def ATTRIBUTE_UNUSED,
void *data)
{
virHashTablePtr bootHash = data;
- char *order = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) order = NULL;
if (info->bootIndex == 0)
return 0;
@@ -5367,7 +5362,6 @@ virDomainDefCollectBootOrder(virDomainDefPtr def ATTRIBUTE_UNUSED,
ret = 0;
cleanup:
- VIR_FREE(order);
return ret;
}
@@ -6888,8 +6882,8 @@ static int
virDomainDeviceUSBMasterParseXML(xmlNodePtr node,
virDomainDeviceUSBMasterPtr master)
{
- char *startport;
int ret = -1;
+ VIR_AUTOFREE(char *) startport = NULL;
memset(master, 0, sizeof(*master));
@@ -6905,7 +6899,6 @@ virDomainDeviceUSBMasterParseXML(xmlNodePtr node,
ret = 0;
cleanup:
- VIR_FREE(startport);
return ret;
}
@@ -6913,9 +6906,9 @@ static int
virDomainDeviceBootParseXML(xmlNodePtr node,
virDomainDeviceInfoPtr info)
{
- char *order;
- char *loadparm = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) order = NULL;
+ VIR_AUTOFREE(char *) loadparm = NULL;
if (!(order = virXMLPropString(node, "order"))) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@@ -6949,8 +6942,6 @@ virDomainDeviceBootParseXML(xmlNodePtr node,
ret = 0;
cleanup:
- VIR_FREE(order);
- VIR_FREE(loadparm);
return ret;
}
@@ -6959,8 +6950,8 @@ virDomainDeviceISAAddressParseXML(xmlNodePtr node,
virDomainDeviceISAAddressPtr addr)
{
int ret = -1;
- char *iobase;
- char *irq;
+ VIR_AUTOFREE(char *) iobase = NULL;
+ VIR_AUTOFREE(char *) irq = NULL;
memset(addr, 0, sizeof(*addr));
@@ -6983,8 +6974,6 @@ virDomainDeviceISAAddressParseXML(xmlNodePtr node,
ret = 0;
cleanup:
- VIR_FREE(iobase);
- VIR_FREE(irq);
return ret;
}
@@ -6994,7 +6983,7 @@ virDomainDeviceDimmAddressParseXML(xmlNodePtr node,
virDomainDeviceDimmAddressPtr addr)
{
int ret = -1;
- char *tmp = NULL;
+ VIR_AUTOFREE(char *) tmp = NULL;
if (!(tmp = virXMLPropString(node, "slot")) ||
virStrToLong_uip(tmp, NULL, 10, &addr->slot) < 0) {
@@ -7011,15 +7000,11 @@ virDomainDeviceDimmAddressParseXML(xmlNodePtr node,
_("invalid dimm base address '%s'"), tmp);
goto cleanup;
}
-
- VIR_FREE(tmp);
}
ret = 0;
cleanup:
- VIR_FREE(tmp);
-
return ret;
}
@@ -7029,7 +7014,7 @@ virDomainDeviceAddressParseXML(xmlNodePtr address,
virDomainDeviceInfoPtr info)
{
int ret = -1;
- char *type = virXMLPropString(address, "type");
+ VIR_AUTOFREE(char *) type = virXMLPropString(address, "type");
if (type) {
if ((info->type = virDomainDeviceAddressTypeFromString(type)) <= 0) {
@@ -7106,7 +7091,6 @@ virDomainDeviceAddressParseXML(xmlNodePtr address,
ret = 0;
cleanup:
- VIR_FREE(type);
return ret;
}
@@ -7137,10 +7121,10 @@ virDomainDeviceInfoParseXML(virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED,
xmlNodePtr alias = NULL;
xmlNodePtr boot = NULL;
xmlNodePtr rom = NULL;
- char *romenabled = NULL;
- char *rombar = NULL;
- char *aliasStr = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) romenabled = NULL;
+ VIR_AUTOFREE(char *) rombar = NULL;
+ VIR_AUTOFREE(char *) aliasStr = NULL;
virDomainDeviceInfoClear(info);
@@ -7222,9 +7206,6 @@ virDomainDeviceInfoParseXML(virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED,
cleanup:
if (ret < 0)
virDomainDeviceInfoClear(info);
- VIR_FREE(rombar);
- VIR_FREE(romenabled);
- VIR_FREE(aliasStr);
return ret;
}
@@ -7253,9 +7234,9 @@ virDomainHostdevSubsysUSBDefParseXML(xmlNodePtr node,
int ret = -1;
bool got_product, got_vendor;
xmlNodePtr cur;
- char *startupPolicy = NULL;
- char *autoAddress;
virDomainHostdevSubsysUSBPtr usbsrc = &def->source.subsys.u.usb;
+ VIR_AUTOFREE(char *) startupPolicy = NULL;
+ VIR_AUTOFREE(char *) autoAddress = NULL;
if ((startupPolicy = virXMLPropString(node, "startupPolicy"))) {
def->startupPolicy =
@@ -7264,16 +7245,13 @@ virDomainHostdevSubsysUSBDefParseXML(xmlNodePtr node,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Unknown startup policy '%s'"),
startupPolicy);
- VIR_FREE(startupPolicy);
goto out;
}
- VIR_FREE(startupPolicy);
}
if ((autoAddress = virXMLPropString(node, "autoAddress"))) {
if (STREQ(autoAddress, "yes"))
usbsrc->autoAddress = true;
- VIR_FREE(autoAddress);
}
/* Product can validly be 0, so we need some extra help to determine
@@ -7285,24 +7263,22 @@ virDomainHostdevSubsysUSBDefParseXML(xmlNodePtr node,
while (cur != NULL) {
if (cur->type == XML_ELEMENT_NODE) {
if (virXMLNodeNameEqual(cur, "vendor")) {
- char *vendor = virXMLPropString(cur, "id");
+ VIR_AUTOFREE(char *) vendor = virXMLPropString(cur, "id");
if (vendor) {
got_vendor = true;
if (virStrToLong_ui(vendor, NULL, 0, &usbsrc->vendor) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("cannot parse vendor id %s"), vendor);
- VIR_FREE(vendor);
goto out;
}
- VIR_FREE(vendor);
} else {
virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("usb vendor needs id"));
goto out;
}
} else if (virXMLNodeNameEqual(cur, "product")) {
- char* product = virXMLPropString(cur, "id");
+ VIR_AUTOFREE(char *) product = virXMLPropString(cur, "id");
if (product) {
got_product = true;
@@ -7311,27 +7287,24 @@ virDomainHostdevSubsysUSBDefParseXML(xmlNodePtr node,
virReportError(VIR_ERR_INTERNAL_ERROR,
_("cannot parse product %s"),
product);
- VIR_FREE(product);
goto out;
}
- VIR_FREE(product);
} else {
virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("usb product needs id"));
goto out;
}
} else if (virXMLNodeNameEqual(cur, "address")) {
- char *bus, *device;
+ VIR_AUTOFREE(char *) bus = NULL;
+ VIR_AUTOFREE(char *) device = NULL;
bus = virXMLPropString(cur, "bus");
if (bus) {
if (virStrToLong_ui(bus, NULL, 0, &usbsrc->bus) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("cannot parse bus %s"), bus);
- VIR_FREE(bus);
goto out;
}
- VIR_FREE(bus);
} else {
virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("usb address needs bus id"));
@@ -7344,10 +7317,8 @@ virDomainHostdevSubsysUSBDefParseXML(xmlNodePtr node,
virReportError(VIR_ERR_INTERNAL_ERROR,
_("cannot parse device %s"),
device);
- VIR_FREE(device);
goto out;
}
- VIR_FREE(device);
} else {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("usb address needs device id"));
@@ -7441,14 +7412,13 @@ virDomainHostdevSubsysPCIDefParseXML(xmlNodePtr node,
} else if ((flags & VIR_DOMAIN_DEF_PARSE_STATUS) &&
virXMLNodeNameEqual(cur, "state")) {
/* Legacy back-compat. Don't add any more attributes here */
- char *devaddr = virXMLPropString(cur, "devaddr");
+ VIR_AUTOFREE(char *) devaddr = virXMLPropString(cur, "devaddr");
if (devaddr &&
virDomainParseLegacyDeviceAddress(devaddr,
&def->info->addr.pci) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Unable to parse devaddr parameter '%s'"),
devaddr);
- VIR_FREE(devaddr);
goto out;
}
def->info->type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI;
@@ -7479,9 +7449,9 @@ virDomainStorageNetworkParseHost(xmlNodePtr hostnode,
size_t *nhosts)
{
int ret = -1;
- char *transport = NULL;
- char *port = NULL;
virStorageNetHostDef host;
+ VIR_AUTOFREE(char *) transport = NULL;
+ VIR_AUTOFREE(char *) port = NULL;
memset(&host, 0, sizeof(host));
host.transport = VIR_STORAGE_NET_HOST_TRANS_TCP;
@@ -7535,8 +7505,6 @@ virDomainStorageNetworkParseHost(xmlNodePtr hostnode,
cleanup:
virStorageNetHostDefClear(&host);
- VIR_FREE(transport);
- VIR_FREE(port);
return ret;
}
@@ -7568,8 +7536,10 @@ virDomainHostdevSubsysSCSIHostDefParseXML(xmlNodePtr sourcenode,
int ret = -1;
bool got_address = false, got_adapter = false;
xmlNodePtr cur;
- char *bus = NULL, *target = NULL, *unit = NULL;
virDomainHostdevSubsysSCSIHostPtr scsihostsrc = &scsisrc->u.host;
+ VIR_AUTOFREE(char *) bus = NULL;
+ VIR_AUTOFREE(char *) target = NULL;
+ VIR_AUTOFREE(char *) unit = NULL;
cur = sourcenode->children;
while (cur != NULL) {
@@ -7644,9 +7614,6 @@ virDomainHostdevSubsysSCSIHostDefParseXML(xmlNodePtr sourcenode,
ret = 0;
cleanup:
- VIR_FREE(bus);
- VIR_FREE(target);
- VIR_FREE(unit);
return ret;
}
@@ -7726,8 +7693,8 @@ virDomainHostdevSubsysSCSIDefParseXML(xmlNodePtr sourcenode,
virDomainHostdevSubsysSCSIPtr scsisrc,
xmlXPathContextPtr ctxt)
{
- char *protocol = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) protocol = NULL;
if ((protocol = virXMLPropString(sourcenode, "protocol"))) {
scsisrc->protocol =
@@ -7746,7 +7713,6 @@ virDomainHostdevSubsysSCSIDefParseXML(xmlNodePtr sourcenode,
ret = virDomainHostdevSubsysSCSIHostDefParseXML(sourcenode, scsisrc);
cleanup:
- VIR_FREE(protocol);
return ret;
}
@@ -7754,10 +7720,10 @@ static int
virDomainHostdevSubsysSCSIVHostDefParseXML(xmlNodePtr sourcenode,
virDomainHostdevDefPtr def)
{
- char *protocol = NULL;
- char *wwpn = NULL;
virDomainHostdevSubsysSCSIVHostPtr hostsrc = &def->source.subsys.u.scsi_host;
int ret = -1;
+ VIR_AUTOFREE(char *) protocol = NULL;
+ VIR_AUTOFREE(char *) wwpn = NULL;
if (!(protocol = virXMLPropString(sourcenode, "protocol"))) {
virReportError(VIR_ERR_XML_ERROR, "%s",
@@ -7799,8 +7765,6 @@ virDomainHostdevSubsysSCSIVHostDefParseXML(xmlNodePtr sourcenode,
ret = 0;
cleanup:
- VIR_FREE(wwpn);
- VIR_FREE(protocol);
return ret;
}
@@ -7810,9 +7774,9 @@ virDomainHostdevSubsysMediatedDevDefParseXML(virDomainHostdevDefPtr def,
{
int ret = -1;
unsigned char uuid[VIR_UUID_BUFLEN] = {0};
- char *uuidxml = NULL;
xmlNodePtr node = NULL;
virDomainHostdevSubsysMediatedDevPtr mdevsrc = &def->source.subsys.u.mdev;
+ VIR_AUTOFREE(char *) uuidxml = NULL;
if (!(node = virXPathNode("./source/address", ctxt))) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
@@ -7836,7 +7800,6 @@ virDomainHostdevSubsysMediatedDevDefParseXML(virDomainHostdevDefPtr def,
virUUIDFormat(uuid, mdevsrc->uuidstr);
ret = 0;
cleanup:
- VIR_FREE(uuidxml);
return ret;
}
@@ -7848,17 +7811,17 @@ virDomainHostdevDefParseXMLSubsys(xmlNodePtr node,
unsigned int flags)
{
xmlNodePtr sourcenode;
- char *managed = NULL;
- char *sgio = NULL;
- char *rawio = NULL;
- char *backendStr = NULL;
- char *model = NULL;
- char *display = NULL;
int backend;
int ret = -1;
virDomainHostdevSubsysPCIPtr pcisrc = &def->source.subsys.u.pci;
virDomainHostdevSubsysSCSIPtr scsisrc = &def->source.subsys.u.scsi;
virDomainHostdevSubsysMediatedDevPtr mdevsrc = &def->source.subsys.u.mdev;
+ VIR_AUTOFREE(char *) managed = NULL;
+ VIR_AUTOFREE(char *) sgio = NULL;
+ VIR_AUTOFREE(char *) rawio = NULL;
+ VIR_AUTOFREE(char *) backendStr = NULL;
+ VIR_AUTOFREE(char *) model = NULL;
+ VIR_AUTOFREE(char *) display = NULL;
/* @managed can be read from the xml document - it is always an
* attribute of the toplevel element, no matter what type of
@@ -8018,12 +7981,6 @@ virDomainHostdevDefParseXMLSubsys(xmlNodePtr node,
ret = 0;
cleanup:
- VIR_FREE(managed);
- VIR_FREE(sgio);
- VIR_FREE(rawio);
- VIR_FREE(backendStr);
- VIR_FREE(model);
- VIR_FREE(display);
return ret;
}
@@ -8031,12 +7988,14 @@ static virNetDevIPAddrPtr
virDomainNetIPParseXML(xmlNodePtr node)
{
/* Parse the prefix in every case */
- virNetDevIPAddrPtr ip = NULL, ret = NULL;
- char *prefixStr = NULL;
+ virNetDevIPAddrPtr ret = NULL;
unsigned int prefixValue = 0;
- char *familyStr = NULL;
int family = AF_UNSPEC;
- char *address = NULL, *peer = NULL;
+ VIR_AUTOFREE(virNetDevIPAddrPtr) ip = NULL;
+ VIR_AUTOFREE(char *) prefixStr = NULL;
+ VIR_AUTOFREE(char *) familyStr = NULL;
+ VIR_AUTOFREE(char *) address = NULL;
+ VIR_AUTOFREE(char *) peer = NULL;
if (!(address = virXMLPropString(node, "address"))) {
virReportError(VIR_ERR_XML_ERROR, "%s",
@@ -8084,11 +8043,6 @@ virDomainNetIPParseXML(xmlNodePtr node)
VIR_STEAL_PTR(ret, ip);
cleanup:
- VIR_FREE(prefixStr);
- VIR_FREE(familyStr);
- VIR_FREE(address);
- VIR_FREE(peer);
- VIR_FREE(ip);
return ret;
}
@@ -8103,12 +8057,12 @@ virDomainNetIPInfoParseXML(const char *source,
xmlXPathContextPtr ctxt,
virNetDevIPInfoPtr def)
{
- xmlNodePtr *nodes = NULL;
- virNetDevIPAddrPtr ip = NULL;
virNetDevIPRoutePtr route = NULL;
int nnodes;
int ret = -1;
size_t i;
+ VIR_AUTOFREE(xmlNodePtr *) nodes = NULL;
+ VIR_AUTOFREE(virNetDevIPAddrPtr) ip = NULL;
if ((nnodes = virXPathNodeSet("./ip", ctxt, &nodes)) < 0)
goto cleanup;
@@ -8133,9 +8087,7 @@ virDomainNetIPInfoParseXML(const char *source,
cleanup:
if (ret < 0)
virNetDevIPInfoClear(def);
- VIR_FREE(ip);
virNetDevIPRouteFree(route);
- VIR_FREE(nodes);
return ret;
}
@@ -8146,8 +8098,8 @@ virDomainNetDefCoalesceParseXML(xmlNodePtr node,
{
virNetDevCoalescePtr ret = NULL;
xmlNodePtr save = NULL;
- char *str = NULL;
unsigned long long tmp = 0;
+ VIR_AUTOFREE(char *) str = NULL;
save = ctxt->node;
ctxt->node = node;
@@ -8163,10 +8115,8 @@ virDomainNetDefCoalesceParseXML(xmlNodePtr node,
virReportError(VIR_ERR_XML_DETAIL,
_("cannot parse value '%s' for coalesce parameter"),
str);
- VIR_FREE(str);
goto error;
}
- VIR_FREE(str);
if (tmp > UINT32_MAX) {
virReportError(VIR_ERR_OVERFLOW,
@@ -8178,7 +8128,6 @@ virDomainNetDefCoalesceParseXML(xmlNodePtr node,
ret->rx_max_coalesced_frames = tmp;
cleanup:
- VIR_FREE(str);
ctxt->node = save;
return ret;
@@ -8553,8 +8502,9 @@ virSecurityLabelDefsParseXML(virDomainDefPtr def,
{
size_t i = 0, j;
int n;
- xmlNodePtr *list = NULL, saved_node;
+ xmlNodePtr saved_node;
virCapsHostPtr host = &caps->host;
+ VIR_AUTOFREE(xmlNodePtr *) list = NULL;
/* Check args and save context */
if (def == NULL || ctxt == NULL)
@@ -8592,7 +8542,6 @@ virSecurityLabelDefsParseXML(virDomainDefPtr def,
}
def->nseclabels = n;
ctxt->node = saved_node;
- VIR_FREE(list);
/* libvirt versions prior to 0.10.0 support just a single seclabel element
* in guest's XML and model attribute can be suppressed if type is none or
@@ -8647,7 +8596,6 @@ virSecurityLabelDefsParseXML(virDomainDefPtr def,
virSecurityLabelDefFree(def->seclabels[i - 1]);
VIR_FREE(def->seclabels);
def->nseclabels = 0;
- VIR_FREE(list);
return -1;
}
@@ -8662,8 +8610,8 @@ virSecurityDeviceLabelDefParseXML(virSecurityDeviceLabelDefPtr **seclabels_rtn,
size_t nseclabels = 0;
int n;
size_t i, j;
- xmlNodePtr *list = NULL;
char *model, *relabel, *label, *labelskip;
+ VIR_AUTOFREE(xmlNodePtr *) list = NULL;
if ((n = virXPathNodeSet("./seclabel", ctxt, &list)) < 0)
goto error;
@@ -8731,7 +8679,6 @@ virSecurityDeviceLabelDefParseXML(virSecurityDeviceLabelDefPtr **seclabels_rtn,
goto error;
}
}
- VIR_FREE(list);
*nseclabels_rtn = nseclabels;
*seclabels_rtn = seclabels;
@@ -8742,7 +8689,6 @@ virSecurityDeviceLabelDefParseXML(virSecurityDeviceLabelDefPtr **seclabels_rtn,
for (i = 0; i < nseclabels; i++)
virSecurityDeviceLabelDefFree(seclabels[i]);
VIR_FREE(seclabels);
- VIR_FREE(list);
return -1;
}
@@ -8785,10 +8731,10 @@ virDomainLeaseDefParseXML(xmlNodePtr node)
{
virDomainLeaseDefPtr def;
xmlNodePtr cur;
- char *lockspace = NULL;
- char *key = NULL;
- char *path = NULL;
- char *offset = NULL;
+ VIR_AUTOFREE(char *) lockspace = NULL;
+ VIR_AUTOFREE(char *) key = NULL;
+ VIR_AUTOFREE(char *) path = NULL;
+ VIR_AUTOFREE(char *) offset = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -8833,11 +8779,6 @@ virDomainLeaseDefParseXML(xmlNodePtr node)
VIR_STEAL_PTR(def->path, path);
cleanup:
- VIR_FREE(lockspace);
- VIR_FREE(key);
- VIR_FREE(path);
- VIR_FREE(offset);
-
return def;
error:
@@ -8850,9 +8791,9 @@ static int
virDomainDiskSourcePoolDefParse(xmlNodePtr node,
virStorageSourcePoolDefPtr *srcpool)
{
- char *mode = NULL;
virStorageSourcePoolDefPtr source;
int ret = -1;
+ VIR_AUTOFREE(char *) mode = NULL;
*srcpool = NULL;
@@ -8889,7 +8830,6 @@ virDomainDiskSourcePoolDefParse(xmlNodePtr node,
cleanup:
virStorageSourcePoolDefFree(source);
- VIR_FREE(mode);
return ret;
}
@@ -8900,11 +8840,11 @@ virDomainDiskSourceNetworkParse(xmlNodePtr node,
virStorageSourcePtr src,
unsigned int flags)
{
- char *protocol = NULL;
- char *haveTLS = NULL;
- char *tlsCfg = NULL;
int tlsCfgVal;
int ret = -1;
+ VIR_AUTOFREE(char *) protocol = NULL;
+ VIR_AUTOFREE(char *) haveTLS = NULL;
+ VIR_AUTOFREE(char *) tlsCfg = NULL;
if (!(protocol = virXMLPropString(node, "protocol"))) {
virReportError(VIR_ERR_XML_ERROR, "%s",
@@ -8981,9 +8921,6 @@ virDomainDiskSourceNetworkParse(xmlNodePtr node,
ret = 0;
cleanup:
- VIR_FREE(tlsCfg);
- VIR_FREE(haveTLS);
- VIR_FREE(protocol);
return ret;
}
@@ -9138,11 +9075,11 @@ virDomainDiskBackingStoreParse(xmlXPathContextPtr ctxt,
{
xmlNodePtr save_ctxt = ctxt->node;
xmlNodePtr source;
- char *type = NULL;
- char *format = NULL;
- char *idx = NULL;
int ret = -1;
VIR_AUTOUNREF(virStorageSourcePtr) backingStore = NULL;
+ VIR_AUTOFREE(char *) type = NULL;
+ VIR_AUTOFREE(char *) format = NULL;
+ VIR_AUTOFREE(char *) idx = NULL;
if (!(ctxt->node = virXPathNode("./backingStore", ctxt))) {
ret = 0;
@@ -9203,9 +9140,6 @@ virDomainDiskBackingStoreParse(xmlXPathContextPtr ctxt,
ret = 0;
cleanup:
- VIR_FREE(type);
- VIR_FREE(format);
- VIR_FREE(idx);
ctxt->node = save_ctxt;
return ret;
}
@@ -9301,11 +9235,11 @@ virDomainDiskDefMirrorParse(virDomainDiskDefPtr def,
virDomainXMLOptionPtr xmlopt)
{
xmlNodePtr mirrorNode;
- char *mirrorFormat = NULL;
- char *mirrorType = NULL;
- char *ready = NULL;
- char *blockJob = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) mirrorFormat = NULL;
+ VIR_AUTOFREE(char *) mirrorType = NULL;
+ VIR_AUTOFREE(char *) ready = NULL;
+ VIR_AUTOFREE(char *) blockJob = NULL;
if (!(def->mirror = virStorageSourceNew()))
goto cleanup;
@@ -9378,10 +9312,6 @@ virDomainDiskDefMirrorParse(virDomainDiskDefPtr def,
ret = 0;
cleanup:
- VIR_FREE(ready);
- VIR_FREE(blockJob);
- VIR_FREE(mirrorType);
- VIR_FREE(mirrorFormat);
return ret;
}
@@ -9390,7 +9320,7 @@ static int
virDomainDiskDefGeometryParse(virDomainDiskDefPtr def,
xmlNodePtr cur)
{
- char *tmp;
+ VIR_AUTOFREE(char *) tmp = NULL;
if ((tmp = virXMLPropString(cur, "cyls"))) {
if (virStrToLong_ui(tmp, NULL, 10, &def->geometry.cylinders) < 0) {
@@ -9427,13 +9357,11 @@ virDomainDiskDefGeometryParse(virDomainDiskDefPtr def,
tmp);
goto error;
}
- VIR_FREE(tmp);
}
return 0;
error:
- VIR_FREE(tmp);
return -1;
}
@@ -9578,8 +9506,8 @@ static int
virDomainDiskDefDriverParseXML(virDomainDiskDefPtr def,
xmlNodePtr cur)
{
- char *tmp = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) tmp = NULL;
def->driverName = virXMLPropString(cur, "name");
@@ -9688,13 +9616,10 @@ virDomainDiskDefDriverParseXML(virDomainDiskDefPtr def,
tmp);
goto cleanup;
}
- VIR_FREE(tmp);
ret = 0;
cleanup:
- VIR_FREE(tmp);
-
return ret;
}
@@ -9743,26 +9668,26 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
virDomainDiskDefPtr def;
xmlNodePtr cur;
xmlNodePtr save_ctxt = ctxt->node;
- char *tmp = NULL;
- char *snapshot = NULL;
- char *rawio = NULL;
- char *sgio = NULL;
bool source = false;
- char *target = NULL;
- char *bus = NULL;
- char *devaddr = NULL;
virStorageEncryptionPtr encryption = NULL;
- char *serial = NULL;
- char *startupPolicy = NULL;
- char *tray = NULL;
- char *removable = NULL;
- char *logical_block_size = NULL;
- char *physical_block_size = NULL;
- char *wwn = NULL;
- char *vendor = NULL;
- char *product = NULL;
- char *domain_name = NULL;
VIR_AUTOPTR(virStorageAuthDef) authdef = NULL;
+ VIR_AUTOFREE(char *) tmp = NULL;
+ VIR_AUTOFREE(char *) snapshot = NULL;
+ VIR_AUTOFREE(char *) rawio = NULL;
+ VIR_AUTOFREE(char *) sgio = NULL;
+ VIR_AUTOFREE(char *) target = NULL;
+ VIR_AUTOFREE(char *) bus = NULL;
+ VIR_AUTOFREE(char *) devaddr = NULL;
+ VIR_AUTOFREE(char *) serial = NULL;
+ VIR_AUTOFREE(char *) startupPolicy = NULL;
+ VIR_AUTOFREE(char *) tray = NULL;
+ VIR_AUTOFREE(char *) removable = NULL;
+ VIR_AUTOFREE(char *) logical_block_size = NULL;
+ VIR_AUTOFREE(char *) physical_block_size = NULL;
+ VIR_AUTOFREE(char *) wwn = NULL;
+ VIR_AUTOFREE(char *) vendor = NULL;
+ VIR_AUTOFREE(char *) product = NULL;
+ VIR_AUTOFREE(char *) domain_name = NULL;
if (!(def = virDomainDiskDefNew(xmlopt)))
return NULL;
@@ -10150,25 +10075,7 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error;
cleanup:
- VIR_FREE(tmp);
- VIR_FREE(bus);
- VIR_FREE(snapshot);
- VIR_FREE(rawio);
- VIR_FREE(sgio);
- VIR_FREE(target);
- VIR_FREE(tray);
- VIR_FREE(removable);
- VIR_FREE(devaddr);
- VIR_FREE(serial);
virStorageEncryptionFree(encryption);
- VIR_FREE(startupPolicy);
- VIR_FREE(logical_block_size);
- VIR_FREE(physical_block_size);
- VIR_FREE(wwn);
- VIR_FREE(vendor);
- VIR_FREE(product);
- VIR_FREE(domain_name);
-
ctxt->node = save_ctxt;
return def;
@@ -10209,11 +10116,11 @@ virDomainParseScaledValue(const char *xpath,
unsigned long long max,
bool required)
{
- char *xpath_full = NULL;
- char *unit = NULL;
- char *bytes_str = NULL;
int ret = -1;
unsigned long long bytes;
+ VIR_AUTOFREE(char *) xpath_full = NULL;
+ VIR_AUTOFREE(char *) unit = NULL;
+ VIR_AUTOFREE(char *) bytes_str = NULL;
*val = 0;
if (virAsprintf(&xpath_full, "string(%s)", xpath) < 0)
@@ -10252,9 +10159,6 @@ virDomainParseScaledValue(const char *xpath,
*val = bytes;
ret = 1;
cleanup:
- VIR_FREE(bytes_str);
- VIR_FREE(xpath_full);
- VIR_FREE(unit);
return ret;
}
@@ -10455,27 +10359,27 @@ virDomainControllerDefParseXML(virDomainXMLOptionPtr xmlopt,
virDomainControllerDefPtr def = NULL;
int type = 0;
xmlNodePtr cur = NULL;
- char *typeStr = NULL;
- char *idx = NULL;
- char *model = NULL;
- char *queues = NULL;
- char *cmd_per_lun = NULL;
- char *max_sectors = NULL;
bool processedModel = false;
- char *modelName = NULL;
bool processedTarget = false;
- char *chassisNr = NULL;
- char *chassis = NULL;
- char *port = NULL;
- char *busNr = NULL;
- char *targetIndex = NULL;
int numaNode = -1;
- char *ioeventfd = NULL;
- char *portsStr = NULL;
int ports = -1;
- char *iothread = NULL;
xmlNodePtr saved = ctxt->node;
int rc;
+ VIR_AUTOFREE(char *) typeStr = NULL;
+ VIR_AUTOFREE(char *) idx = NULL;
+ VIR_AUTOFREE(char *) model = NULL;
+ VIR_AUTOFREE(char *) queues = NULL;
+ VIR_AUTOFREE(char *) cmd_per_lun = NULL;
+ VIR_AUTOFREE(char *) max_sectors = NULL;
+ VIR_AUTOFREE(char *) modelName = NULL;
+ VIR_AUTOFREE(char *) chassisNr = NULL;
+ VIR_AUTOFREE(char *) chassis = NULL;
+ VIR_AUTOFREE(char *) port = NULL;
+ VIR_AUTOFREE(char *) busNr = NULL;
+ VIR_AUTOFREE(char *) targetIndex = NULL;
+ VIR_AUTOFREE(char *) ioeventfd = NULL;
+ VIR_AUTOFREE(char *) portsStr = NULL;
+ VIR_AUTOFREE(char *) iothread = NULL;
ctxt->node = node;
@@ -10614,20 +10518,18 @@ virDomainControllerDefParseXML(virDomainXMLOptionPtr xmlopt,
switch (def->type) {
case VIR_DOMAIN_CONTROLLER_TYPE_VIRTIO_SERIAL: {
- def->opts.vioserial.ports = ports;
+ VIR_AUTOFREE(char *) vectors = virXMLPropString(node, "vectors");
- char *vectors = virXMLPropString(node, "vectors");
+ def->opts.vioserial.ports = ports;
if (vectors) {
int r = virStrToLong_i(vectors, NULL, 10,
&def->opts.vioserial.vectors);
if (r != 0 || def->opts.vioserial.vectors < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Invalid vectors: %s"), vectors);
- VIR_FREE(vectors);
goto error;
}
}
- VIR_FREE(vectors);
break;
}
case VIR_DOMAIN_CONTROLLER_TYPE_USB: {
@@ -10790,22 +10692,6 @@ virDomainControllerDefParseXML(virDomainXMLOptionPtr xmlopt,
cleanup:
ctxt->node = saved;
- VIR_FREE(typeStr);
- VIR_FREE(idx);
- VIR_FREE(model);
- VIR_FREE(queues);
- VIR_FREE(cmd_per_lun);
- VIR_FREE(max_sectors);
- VIR_FREE(modelName);
- VIR_FREE(chassisNr);
- VIR_FREE(chassis);
- VIR_FREE(port);
- VIR_FREE(busNr);
- VIR_FREE(targetIndex);
- VIR_FREE(ioeventfd);
- VIR_FREE(portsStr);
- VIR_FREE(iothread);
-
return def;
error:
@@ -10834,15 +10720,15 @@ virDomainFSDefParseXML(virDomainXMLOptionPtr xmlopt,
{
virDomainFSDefPtr def;
xmlNodePtr cur, save_node = ctxt->node;
- char *type = NULL;
- char *fsdriver = NULL;
- char *source = NULL;
- char *target = NULL;
- char *format = NULL;
- char *accessmode = NULL;
- char *wrpolicy = NULL;
- char *usage = NULL;
- char *units = NULL;
+ VIR_AUTOFREE(char *) type = NULL;
+ VIR_AUTOFREE(char *) fsdriver = NULL;
+ VIR_AUTOFREE(char *) source = NULL;
+ VIR_AUTOFREE(char *) target = NULL;
+ VIR_AUTOFREE(char *) format = NULL;
+ VIR_AUTOFREE(char *) accessmode = NULL;
+ VIR_AUTOFREE(char *) wrpolicy = NULL;
+ VIR_AUTOFREE(char *) usage = NULL;
+ VIR_AUTOFREE(char *) units = NULL;
ctxt->node = node;
@@ -10988,16 +10874,6 @@ virDomainFSDefParseXML(virDomainXMLOptionPtr xmlopt,
cleanup:
ctxt->node = save_node;
- VIR_FREE(type);
- VIR_FREE(fsdriver);
- VIR_FREE(target);
- VIR_FREE(source);
- VIR_FREE(accessmode);
- VIR_FREE(wrpolicy);
- VIR_FREE(usage);
- VIR_FREE(units);
- VIR_FREE(format);
-
return def;
error:
@@ -11019,11 +10895,11 @@ virDomainActualNetDefParseXML(xmlNodePtr node,
xmlNodePtr bandwidth_node = NULL;
xmlNodePtr vlanNode;
xmlNodePtr virtPortNode;
- char *type = NULL;
- char *mode = NULL;
- char *addrtype = NULL;
- char *trustGuestRxFilters = NULL;
- char *macTableManager = NULL;
+ VIR_AUTOFREE(char *) type = NULL;
+ VIR_AUTOFREE(char *) mode = NULL;
+ VIR_AUTOFREE(char *) addrtype = NULL;
+ VIR_AUTOFREE(char *) trustGuestRxFilters = NULL;
+ VIR_AUTOFREE(char *) macTableManager = NULL;
if (VIR_ALLOC(actual) < 0)
return -1;
@@ -11122,16 +10998,16 @@ virDomainActualNetDefParseXML(xmlNodePtr node,
goto error;
}
} else if (actual->type == VIR_DOMAIN_NET_TYPE_NETWORK) {
- char *class_id = virXPathString("string(./class/@id)", ctxt);
+ VIR_AUTOFREE(char *) class_id = NULL;
+
+ class_id = virXPathString("string(./class/@id)", ctxt);
if (class_id &&
virStrToLong_ui(class_id, NULL, 10, &actual->class_id) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Unable to parse class id '%s'"),
class_id);
- VIR_FREE(class_id);
goto error;
}
- VIR_FREE(class_id);
}
if (actual->type == VIR_DOMAIN_NET_TYPE_BRIDGE ||
actual->type == VIR_DOMAIN_NET_TYPE_NETWORK) {
@@ -11173,11 +11049,6 @@ virDomainActualNetDefParseXML(xmlNodePtr node,
VIR_STEAL_PTR(*def, actual);
ret = 0;
error:
- VIR_FREE(type);
- VIR_FREE(mode);
- VIR_FREE(addrtype);
- VIR_FREE(trustGuestRxFilters);
- VIR_FREE(macTableManager);
virDomainActualNetDefFree(actual);
ctxt->node = save_ctxt;
@@ -11220,9 +11091,9 @@ virDomainChrSourceReconnectDefParseXML(virDomainChrSourceReconnectDefPtr def,
{
int ret = -1;
int tmpVal;
- char *tmp = NULL;
xmlNodePtr saveNode = ctxt->node;
xmlNodePtr cur;
+ VIR_AUTOFREE(char *) tmp = NULL;
ctxt->node = node;
@@ -11246,7 +11117,6 @@ virDomainChrSourceReconnectDefParseXML(virDomainChrSourceReconnectDefPtr def,
tmp);
goto cleanup;
}
- VIR_FREE(tmp);
} else {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("missing timeout for chardev with "
@@ -11259,7 +11129,6 @@ virDomainChrSourceReconnectDefParseXML(virDomainChrSourceReconnectDefPtr def,
ret = 0;
cleanup:
ctxt->node = saveNode;
- VIR_FREE(tmp);
return ret;
}
@@ -11279,46 +11148,46 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
virDomainHostdevDefPtr hostdev;
xmlNodePtr cur;
xmlNodePtr tmpNode;
- char *macaddr = NULL;
- char *type = NULL;
- char *network = NULL;
- char *portgroup = NULL;
- char *bridge = NULL;
- char *dev = NULL;
- char *ifname = NULL;
- char *ifname_guest = NULL;
- char *ifname_guest_actual = NULL;
- char *script = NULL;
- char *address = NULL;
- char *port = NULL;
- char *localaddr = NULL;
- char *localport = NULL;
- char *model = NULL;
- char *backend = NULL;
- char *txmode = NULL;
- char *ioeventfd = NULL;
- char *event_idx = NULL;
- char *queues = NULL;
- char *rx_queue_size = NULL;
- char *tx_queue_size = NULL;
- char *str = NULL;
- char *filter = NULL;
- char *internal = NULL;
- char *devaddr = NULL;
- char *mode = NULL;
- char *linkstate = NULL;
- char *addrtype = NULL;
- char *domain_name = NULL;
- char *vhostuser_mode = NULL;
- char *vhostuser_path = NULL;
- char *vhostuser_type = NULL;
- char *trustGuestRxFilters = NULL;
- char *vhost_path = NULL;
virHashTablePtr filterparams = NULL;
virDomainActualNetDefPtr actual = NULL;
xmlNodePtr oldnode = ctxt->node;
virDomainChrSourceReconnectDef reconnect = {0};
int rv, val;
+ VIR_AUTOFREE(char *) macaddr = NULL;
+ VIR_AUTOFREE(char *) type = NULL;
+ VIR_AUTOFREE(char *) network = NULL;
+ VIR_AUTOFREE(char *) portgroup = NULL;
+ VIR_AUTOFREE(char *) bridge = NULL;
+ VIR_AUTOFREE(char *) dev = NULL;
+ VIR_AUTOFREE(char *) ifname = NULL;
+ VIR_AUTOFREE(char *) ifname_guest = NULL;
+ VIR_AUTOFREE(char *) ifname_guest_actual = NULL;
+ VIR_AUTOFREE(char *) script = NULL;
+ VIR_AUTOFREE(char *) address = NULL;
+ VIR_AUTOFREE(char *) port = NULL;
+ VIR_AUTOFREE(char *) localaddr = NULL;
+ VIR_AUTOFREE(char *) localport = NULL;
+ VIR_AUTOFREE(char *) model = NULL;
+ VIR_AUTOFREE(char *) backend = NULL;
+ VIR_AUTOFREE(char *) txmode = NULL;
+ VIR_AUTOFREE(char *) ioeventfd = NULL;
+ VIR_AUTOFREE(char *) event_idx = NULL;
+ VIR_AUTOFREE(char *) queues = NULL;
+ VIR_AUTOFREE(char *) rx_queue_size = NULL;
+ VIR_AUTOFREE(char *) tx_queue_size = NULL;
+ VIR_AUTOFREE(char *) str = NULL;
+ VIR_AUTOFREE(char *) filter = NULL;
+ VIR_AUTOFREE(char *) internal = NULL;
+ VIR_AUTOFREE(char *) devaddr = NULL;
+ VIR_AUTOFREE(char *) mode = NULL;
+ VIR_AUTOFREE(char *) linkstate = NULL;
+ VIR_AUTOFREE(char *) addrtype = NULL;
+ VIR_AUTOFREE(char *) domain_name = NULL;
+ VIR_AUTOFREE(char *) vhostuser_mode = NULL;
+ VIR_AUTOFREE(char *) vhostuser_path = NULL;
+ VIR_AUTOFREE(char *) vhostuser_type = NULL;
+ VIR_AUTOFREE(char *) trustGuestRxFilters = NULL;
+ VIR_AUTOFREE(char *) vhost_path = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -12066,44 +11935,8 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
cleanup:
ctxt->node = oldnode;
- VIR_FREE(macaddr);
- VIR_FREE(network);
- VIR_FREE(portgroup);
- VIR_FREE(address);
- VIR_FREE(port);
- VIR_FREE(vhostuser_type);
- VIR_FREE(vhostuser_path);
- VIR_FREE(vhostuser_mode);
- VIR_FREE(ifname);
- VIR_FREE(ifname_guest);
- VIR_FREE(ifname_guest_actual);
- VIR_FREE(dev);
virDomainActualNetDefFree(actual);
- VIR_FREE(script);
- VIR_FREE(bridge);
- VIR_FREE(model);
- VIR_FREE(backend);
- VIR_FREE(txmode);
- VIR_FREE(ioeventfd);
- VIR_FREE(event_idx);
- VIR_FREE(queues);
- VIR_FREE(rx_queue_size);
- VIR_FREE(tx_queue_size);
- VIR_FREE(str);
- VIR_FREE(filter);
- VIR_FREE(type);
- VIR_FREE(internal);
- VIR_FREE(devaddr);
- VIR_FREE(mode);
- VIR_FREE(linkstate);
- VIR_FREE(addrtype);
- VIR_FREE(domain_name);
- VIR_FREE(trustGuestRxFilters);
- VIR_FREE(vhost_path);
- VIR_FREE(localaddr);
- VIR_FREE(localport);
virHashFree(filterparams);
-
return def;
error:
@@ -12203,11 +12036,11 @@ virDomainChrDefParseTargetXML(virDomainChrDefPtr def,
int ret = -1;
xmlNodePtr child;
unsigned int port;
- char *targetType = virXMLPropString(cur, "type");
- char *targetModel = NULL;
- char *addrStr = NULL;
- char *portStr = NULL;
- char *stateStr = NULL;
+ VIR_AUTOFREE(char *) targetType = virXMLPropString(cur, "type");
+ VIR_AUTOFREE(char *) targetModel = NULL;
+ VIR_AUTOFREE(char *) addrStr = NULL;
+ VIR_AUTOFREE(char *) portStr = NULL;
+ VIR_AUTOFREE(char *) stateStr = NULL;
if ((def->targetType =
virDomainChrTargetTypeFromString(def->deviceType,
@@ -12323,12 +12156,6 @@ virDomainChrDefParseTargetXML(virDomainChrDefPtr def,
ret = 0;
error:
- VIR_FREE(targetType);
- VIR_FREE(targetModel);
- VIR_FREE(addrStr);
- VIR_FREE(portStr);
- VIR_FREE(stateStr);
-
return ret;
}
@@ -12348,8 +12175,8 @@ typedef enum {
static int
virDomainChrSourceDefParseMode(xmlNodePtr source)
{
- char *mode = virXMLPropString(source, "mode");
int ret = -1;
+ VIR_AUTOFREE(char *) mode = virXMLPropString(source, "mode");
if (!mode || STREQ(mode, "connect")) {
ret = VIR_DOMAIN_CHR_SOURCE_MODE_CONNECT;
@@ -12360,7 +12187,6 @@ virDomainChrSourceDefParseMode(xmlNodePtr source)
_("Unknown source mode '%s'"), mode);
}
- VIR_FREE(mode);
return ret;
}
@@ -12372,8 +12198,8 @@ virDomainChrSourceDefParseTCP(virDomainChrSourceDefPtr def,
unsigned int flags)
{
int mode;
- char *tmp = NULL;
int tmpVal;
+ VIR_AUTOFREE(char *) tmp = NULL;
if ((mode = virDomainChrSourceDefParseMode(source)) < 0)
goto error;
@@ -12401,7 +12227,6 @@ virDomainChrSourceDefParseTCP(virDomainChrSourceDefPtr def,
goto error;
}
def->data.tcp.tlsFromConfig = !!tmpVal;
- VIR_FREE(tmp);
}
if (virDomainChrSourceReconnectDefParseXML(&def->data.tcp.reconnect,
@@ -12413,7 +12238,6 @@ virDomainChrSourceDefParseTCP(virDomainChrSourceDefPtr def,
return 0;
error:
- VIR_FREE(tmp);
return -1;
}
@@ -12468,7 +12292,7 @@ static int
virDomainChrSourceDefParseFile(virDomainChrSourceDefPtr def,
xmlNodePtr source)
{
- char *append = NULL;
+ VIR_AUTOFREE(char *) append = NULL;
def->data.file.path = virXMLPropString(source, "path");
@@ -12477,11 +12301,9 @@ virDomainChrSourceDefParseFile(virDomainChrSourceDefPtr def,
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Invalid append attribute value '%s'"),
append);
- VIR_FREE(append);
return -1;
}
- VIR_FREE(append);
return 0;
}
@@ -12490,7 +12312,7 @@ static int
virDomainChrSourceDefParseProtocol(virDomainChrSourceDefPtr def,
xmlNodePtr protocol)
{
- char *prot = NULL;
+ VIR_AUTOFREE(char *) prot = NULL;
if (def->type != VIR_DOMAIN_CHR_TYPE_TCP)
return 0;
@@ -12500,11 +12322,9 @@ virDomainChrSourceDefParseProtocol(virDomainChrSourceDefPtr def,
virDomainChrTcpProtocolTypeFromString(prot)) < 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Unknown protocol '%s'"), prot);
- VIR_FREE(prot);
return -1;
}
- VIR_FREE(prot);
return 0;
}
@@ -12513,7 +12333,7 @@ static int
virDomainChrSourceDefParseLog(virDomainChrSourceDefPtr def,
xmlNodePtr log)
{
- char *append = NULL;
+ VIR_AUTOFREE(char *) append = NULL;
def->logfile = virXMLPropString(log, "file");
@@ -12522,11 +12342,9 @@ virDomainChrSourceDefParseLog(virDomainChrSourceDefPtr def,
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Invalid append attribute value '%s'"),
append);
- VIR_FREE(append);
return -1;
}
- VIR_FREE(append);
return 0;
}
@@ -12774,10 +12592,10 @@ virDomainChrDefParseXML(virDomainXMLOptionPtr xmlopt,
unsigned int flags)
{
xmlNodePtr cur;
- char *type = NULL;
const char *nodeName;
virDomainChrDefPtr def;
bool seenTarget = false;
+ VIR_AUTOFREE(char *) type = NULL;
if (!(def = virDomainChrDefNew(xmlopt)))
return NULL;
@@ -12844,8 +12662,6 @@ virDomainChrDefParseXML(virDomainXMLOptionPtr xmlopt,
}
cleanup:
- VIR_FREE(type);
-
return def;
error:
@@ -12861,10 +12677,10 @@ virDomainSmartcardDefParseXML(virDomainXMLOptionPtr xmlopt,
unsigned int flags)
{
xmlNodePtr cur;
- char *mode = NULL;
- char *type = NULL;
virDomainSmartcardDefPtr def;
size_t i;
+ VIR_AUTOFREE(char *) mode = NULL;
+ VIR_AUTOFREE(char *) type = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -12976,9 +12792,6 @@ virDomainSmartcardDefParseXML(virDomainXMLOptionPtr xmlopt,
}
cleanup:
- VIR_FREE(mode);
- VIR_FREE(type);
-
return def;
error:
@@ -13009,14 +12822,14 @@ virDomainTPMDefParseXML(virDomainXMLOptionPtr xmlopt,
xmlXPathContextPtr ctxt,
unsigned int flags)
{
- char *path = NULL;
- char *model = NULL;
- char *backend = NULL;
- char *version = NULL;
virDomainTPMDefPtr def;
xmlNodePtr save = ctxt->node;
- xmlNodePtr *backends = NULL;
int nbackends;
+ VIR_AUTOFREE(char *) path = NULL;
+ VIR_AUTOFREE(char *) model = NULL;
+ VIR_AUTOFREE(char *) backend = NULL;
+ VIR_AUTOFREE(char *) version = NULL;
+ VIR_AUTOFREE(xmlNodePtr *) backends = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -13089,11 +12902,6 @@ virDomainTPMDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error;
cleanup:
- VIR_FREE(path);
- VIR_FREE(model);
- VIR_FREE(backend);
- VIR_FREE(backends);
- VIR_FREE(version);
ctxt->node = save;
return def;
@@ -13109,7 +12917,7 @@ virDomainPanicDefParseXML(virDomainXMLOptionPtr xmlopt,
unsigned int flags)
{
virDomainPanicDefPtr panic;
- char *model = NULL;
+ VIR_AUTOFREE(char *) model = NULL;
if (VIR_ALLOC(panic) < 0)
return NULL;
@@ -13127,7 +12935,6 @@ virDomainPanicDefParseXML(virDomainXMLOptionPtr xmlopt,
}
cleanup:
- VIR_FREE(model);
return panic;
error:
@@ -13146,9 +12953,9 @@ virDomainInputDefParseXML(virDomainXMLOptionPtr xmlopt,
{
xmlNodePtr save = ctxt->node;
virDomainInputDefPtr def;
- char *evdev = NULL;
- char *type = NULL;
- char *bus = NULL;
+ VIR_AUTOFREE(char *) evdev = NULL;
+ VIR_AUTOFREE(char *) type = NULL;
+ VIR_AUTOFREE(char *) bus = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -13276,10 +13083,6 @@ virDomainInputDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error;
cleanup:
- VIR_FREE(evdev);
- VIR_FREE(type);
- VIR_FREE(bus);
-
ctxt->node = save;
return def;
@@ -13297,7 +13100,7 @@ virDomainHubDefParseXML(virDomainXMLOptionPtr xmlopt,
unsigned int flags)
{
virDomainHubDefPtr def;
- char *type = NULL;
+ VIR_AUTOFREE(char *) type = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -13320,8 +13123,6 @@ virDomainHubDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error;
cleanup:
- VIR_FREE(type);
-
return def;
error:
@@ -13336,16 +13137,15 @@ static virDomainTimerDefPtr
virDomainTimerDefParseXML(xmlNodePtr node,
xmlXPathContextPtr ctxt)
{
- char *name = NULL;
- char *present = NULL;
- char *tickpolicy = NULL;
- char *track = NULL;
- char *mode = NULL;
-
virDomainTimerDefPtr def;
xmlNodePtr oldnode = ctxt->node;
xmlNodePtr catchup;
int ret;
+ VIR_AUTOFREE(char *) name = NULL;
+ VIR_AUTOFREE(char *) present = NULL;
+ VIR_AUTOFREE(char *) tickpolicy = NULL;
+ VIR_AUTOFREE(char *) track = NULL;
+ VIR_AUTOFREE(char *) mode = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -13448,11 +13248,6 @@ virDomainTimerDefParseXML(xmlNodePtr node,
}
cleanup:
- VIR_FREE(name);
- VIR_FREE(present);
- VIR_FREE(tickpolicy);
- VIR_FREE(track);
- VIR_FREE(mode);
ctxt->node = oldnode;
return def;
@@ -13468,8 +13263,8 @@ virDomainGraphicsAuthDefParseXML(xmlNodePtr node,
virDomainGraphicsAuthDefPtr def,
int type)
{
- char *validTo = NULL;
- char *connected = virXMLPropString(node, "connected");
+ VIR_AUTOFREE(char *) validTo = NULL;
+ VIR_AUTOFREE(char *) connected = virXMLPropString(node, "connected");
def->passwd = virXMLPropString(node, "passwd");
@@ -13497,11 +13292,9 @@ virDomainGraphicsAuthDefParseXML(xmlNodePtr node,
virReportError(VIR_ERR_INTERNAL_ERROR,
_("cannot parse password validity time '%s', expect YYYY-MM-DDTHH:MM:SS"),
validTo);
- VIR_FREE(validTo);
VIR_FREE(def->passwd);
return -1;
}
- VIR_FREE(validTo);
tm.tm_year -= 1900; /* Human epoch starts at 0 BC, not 1900BC */
tm.tm_mon--; /* Humans start months at 1, computers at 0 */
@@ -13516,10 +13309,8 @@ virDomainGraphicsAuthDefParseXML(xmlNodePtr node,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unknown connected value %s"),
connected);
- VIR_FREE(connected);
return -1;
}
- VIR_FREE(connected);
/* VNC supports connected='keep' only */
if (type == VIR_DOMAIN_GRAPHICS_TYPE_VNC &&
@@ -13557,16 +13348,16 @@ virDomainGraphicsListenDefParseXML(virDomainGraphicsListenDefPtr def,
unsigned int flags)
{
int ret = -1;
- char *type = virXMLPropString(node, "type");
- char *address = virXMLPropString(node, "address");
- char *network = virXMLPropString(node, "network");
- char *socketPath = virXMLPropString(node, "socket");
- char *fromConfig = virXMLPropString(node, "fromConfig");
- char *autoGenerated = virXMLPropString(node, "autoGenerated");
- char *addressCompat = NULL;
- char *socketCompat = NULL;
const char *graphicsType = virDomainGraphicsTypeToString(graphics->type);
int tmp, typeVal;
+ VIR_AUTOFREE(char *) type = virXMLPropString(node, "type");
+ VIR_AUTOFREE(char *) address = virXMLPropString(node, "address");
+ VIR_AUTOFREE(char *) network = virXMLPropString(node, "network");
+ VIR_AUTOFREE(char *) socketPath = virXMLPropString(node, "socket");
+ VIR_AUTOFREE(char *) fromConfig = virXMLPropString(node, "fromConfig");
+ VIR_AUTOFREE(char *) autoGenerated = virXMLPropString(node, "autoGenerated");
+ VIR_AUTOFREE(char *) addressCompat = NULL;
+ VIR_AUTOFREE(char *) socketCompat = NULL;
if (parent) {
addressCompat = virXMLPropString(parent, "listen");
@@ -13691,14 +13482,6 @@ virDomainGraphicsListenDefParseXML(virDomainGraphicsListenDefPtr def,
error:
if (ret < 0)
virDomainGraphicsListenDefClear(def);
- VIR_FREE(type);
- VIR_FREE(address);
- VIR_FREE(network);
- VIR_FREE(socketPath);
- VIR_FREE(fromConfig);
- VIR_FREE(autoGenerated);
- VIR_FREE(addressCompat);
- VIR_FREE(socketCompat);
return ret;
}
@@ -13709,12 +13492,12 @@ virDomainGraphicsListensParseXML(virDomainGraphicsDefPtr def,
xmlXPathContextPtr ctxt,
unsigned int flags)
{
- xmlNodePtr *listenNodes = NULL;
xmlNodePtr save = ctxt->node;
virDomainGraphicsListenDef newListen = {0};
- char *socketPath = NULL;
int nListens;
int ret = -1;
+ VIR_AUTOFREE(xmlNodePtr *) listenNodes = NULL;
+ VIR_AUTOFREE(char *) socketPath = NULL;
ctxt->node = node;
@@ -13738,7 +13521,6 @@ virDomainGraphicsListensParseXML(virDomainGraphicsDefPtr def,
def->nListens++;
}
- VIR_FREE(listenNodes);
}
/* If no element was found in XML for backward compatibility
@@ -13781,8 +13563,6 @@ virDomainGraphicsListensParseXML(virDomainGraphicsDefPtr def,
ret = 0;
cleanup:
virDomainGraphicsListenDefClear(&newListen);
- VIR_FREE(listenNodes);
- VIR_FREE(socketPath);
ctxt->node = save;
return ret;
}
@@ -13794,12 +13574,12 @@ virDomainGraphicsDefParseXMLVNC(virDomainGraphicsDefPtr def,
xmlXPathContextPtr ctxt,
unsigned int flags)
{
- char *port = virXMLPropString(node, "port");
- char *websocket = virXMLPropString(node, "websocket");
- char *websocketGenerated = virXMLPropString(node, "websocketGenerated");
- char *sharePolicy = virXMLPropString(node, "sharePolicy");
- char *autoport = virXMLPropString(node, "autoport");
int ret = -1;
+ VIR_AUTOFREE(char *) port = virXMLPropString(node, "port");
+ VIR_AUTOFREE(char *) websocket = virXMLPropString(node, "websocket");
+ VIR_AUTOFREE(char *) websocketGenerated = virXMLPropString(node, "websocketGenerated");
+ VIR_AUTOFREE(char *) sharePolicy = virXMLPropString(node, "sharePolicy");
+ VIR_AUTOFREE(char *) autoport = virXMLPropString(node, "autoport");
if (virDomainGraphicsListensParseXML(def, node, ctxt, flags) < 0)
goto cleanup;
@@ -13866,11 +13646,6 @@ virDomainGraphicsDefParseXMLVNC(virDomainGraphicsDefPtr def,
ret = 0;
cleanup:
- VIR_FREE(port);
- VIR_FREE(autoport);
- VIR_FREE(websocket);
- VIR_FREE(websocketGenerated);
- VIR_FREE(sharePolicy);
return ret;
}
@@ -13881,11 +13656,11 @@ virDomainGraphicsDefParseXMLSDL(virDomainGraphicsDefPtr def,
xmlXPathContextPtr ctxt)
{
xmlNodePtr save = ctxt->node;
- char *enable = NULL;
int enableVal;
xmlNodePtr glNode;
- char *fullscreen = virXMLPropString(node, "fullscreen");
int ret = -1;
+ VIR_AUTOFREE(char *) fullscreen = virXMLPropString(node, "fullscreen");
+ VIR_AUTOFREE(char *) enable = NULL;
ctxt->node = node;
@@ -13926,8 +13701,6 @@ virDomainGraphicsDefParseXMLSDL(virDomainGraphicsDefPtr def,
ret = 0;
cleanup:
- VIR_FREE(fullscreen);
- VIR_FREE(enable);
ctxt->node = save;
return ret;
}
@@ -13939,11 +13712,11 @@ virDomainGraphicsDefParseXMLRDP(virDomainGraphicsDefPtr def,
xmlXPathContextPtr ctxt,
unsigned int flags)
{
- char *port = virXMLPropString(node, "port");
- char *autoport = virXMLPropString(node, "autoport");
- char *replaceUser = virXMLPropString(node, "replaceUser");
- char *multiUser = virXMLPropString(node, "multiUser");
int ret = -1;
+ VIR_AUTOFREE(char *) port = virXMLPropString(node, "port");
+ VIR_AUTOFREE(char *) autoport = virXMLPropString(node, "autoport");
+ VIR_AUTOFREE(char *) replaceUser = virXMLPropString(node, "replaceUser");
+ VIR_AUTOFREE(char *) multiUser = virXMLPropString(node, "multiUser");
if (virDomainGraphicsListensParseXML(def, node, ctxt, flags) < 0)
goto error;
@@ -13977,10 +13750,6 @@ virDomainGraphicsDefParseXMLRDP(virDomainGraphicsDefPtr def,
ret = 0;
error:
- VIR_FREE(port);
- VIR_FREE(autoport);
- VIR_FREE(replaceUser);
- VIR_FREE(multiUser);
return ret;
}
@@ -13989,8 +13758,8 @@ static int
virDomainGraphicsDefParseXMLDesktop(virDomainGraphicsDefPtr def,
xmlNodePtr node)
{
- char *fullscreen = virXMLPropString(node, "fullscreen");
int ret = -1;
+ VIR_AUTOFREE(char *) fullscreen = virXMLPropString(node, "fullscreen");
if (fullscreen != NULL) {
if (STREQ(fullscreen, "yes")) {
@@ -14010,7 +13779,6 @@ virDomainGraphicsDefParseXMLDesktop(virDomainGraphicsDefPtr def,
ret = 0;
cleanup:
- VIR_FREE(fullscreen);
return ret;
}
@@ -14022,12 +13790,12 @@ virDomainGraphicsDefParseXMLSpice(virDomainGraphicsDefPtr def,
unsigned int flags)
{
xmlNodePtr cur;
- char *port = virXMLPropString(node, "port");
- char *tlsPort = virXMLPropString(node, "tlsPort");
- char *autoport = virXMLPropString(node, "autoport");
- char *defaultMode = virXMLPropString(node, "defaultMode");
int defaultModeVal;
int ret = -1;
+ VIR_AUTOFREE(char *) port = virXMLPropString(node, "port");
+ VIR_AUTOFREE(char *) tlsPort = virXMLPropString(node, "tlsPort");
+ VIR_AUTOFREE(char *) autoport = virXMLPropString(node, "autoport");
+ VIR_AUTOFREE(char *) defaultMode = virXMLPropString(node, "defaultMode");
if (virDomainGraphicsListensParseXML(def, node, ctxt, flags) < 0)
goto error;
@@ -14087,16 +13855,16 @@ virDomainGraphicsDefParseXMLSpice(virDomainGraphicsDefPtr def,
while (cur != NULL) {
if (cur->type == XML_ELEMENT_NODE) {
if (virXMLNodeNameEqual(cur, "channel")) {
- char *name, *mode;
int nameval, modeval;
+ VIR_AUTOFREE(char *) name = NULL;
+ VIR_AUTOFREE(char *) mode = NULL;
+
name = virXMLPropString(cur, "name");
mode = virXMLPropString(cur, "mode");
if (!name || !mode) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("spice channel missing name/mode"));
- VIR_FREE(name);
- VIR_FREE(mode);
goto error;
}
@@ -14104,25 +13872,19 @@ virDomainGraphicsDefParseXMLSpice(virDomainGraphicsDefPtr def,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unknown spice channel name %s"),
name);
- VIR_FREE(name);
- VIR_FREE(mode);
goto error;
}
if ((modeval = virDomainGraphicsSpiceChannelModeTypeFromString(mode)) < 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unknown spice channel mode %s"),
mode);
- VIR_FREE(name);
- VIR_FREE(mode);
goto error;
}
- VIR_FREE(name);
- VIR_FREE(mode);
def->data.spice.channels[nameval] = modeval;
} else if (virXMLNodeNameEqual(cur, "image")) {
- char *compression = virXMLPropString(cur, "compression");
int compressionVal;
+ VIR_AUTOFREE(char *) compression = virXMLPropString(cur, "compression");
if (!compression) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -14135,15 +13897,13 @@ virDomainGraphicsDefParseXMLSpice(virDomainGraphicsDefPtr def,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unknown spice image compression %s"),
compression);
- VIR_FREE(compression);
goto error;
}
- VIR_FREE(compression);
def->data.spice.image = compressionVal;
} else if (virXMLNodeNameEqual(cur, "jpeg")) {
- char *compression = virXMLPropString(cur, "compression");
int compressionVal;
+ VIR_AUTOFREE(char *) compression = virXMLPropString(cur, "compression");
if (!compression) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -14156,15 +13916,13 @@ virDomainGraphicsDefParseXMLSpice(virDomainGraphicsDefPtr def,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unknown spice jpeg compression %s"),
compression);
- VIR_FREE(compression);
goto error;
}
- VIR_FREE(compression);
def->data.spice.jpeg = compressionVal;
} else if (virXMLNodeNameEqual(cur, "zlib")) {
- char *compression = virXMLPropString(cur, "compression");
int compressionVal;
+ VIR_AUTOFREE(char *) compression = virXMLPropString(cur, "compression");
if (!compression) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -14177,15 +13935,13 @@ virDomainGraphicsDefParseXMLSpice(virDomainGraphicsDefPtr def,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unknown spice zlib compression %s"),
compression);
- VIR_FREE(compression);
goto error;
}
- VIR_FREE(compression);
def->data.spice.zlib = compressionVal;
} else if (virXMLNodeNameEqual(cur, "playback")) {
- char *compression = virXMLPropString(cur, "compression");
int compressionVal;
+ VIR_AUTOFREE(char *) compression = virXMLPropString(cur, "compression");
if (!compression) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -14197,16 +13953,14 @@ virDomainGraphicsDefParseXMLSpice(virDomainGraphicsDefPtr def,
virTristateSwitchTypeFromString(compression)) <= 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("unknown spice playback compression"));
- VIR_FREE(compression);
goto error;
}
- VIR_FREE(compression);
def->data.spice.playback = compressionVal;
} else if (virXMLNodeNameEqual(cur, "streaming")) {
- char *mode = virXMLPropString(cur, "mode");
int modeVal;
+ VIR_AUTOFREE(char *) mode = virXMLPropString(cur, "mode");
if (!mode) {
virReportError(VIR_ERR_XML_ERROR, "%s",
@@ -14217,16 +13971,14 @@ virDomainGraphicsDefParseXMLSpice(virDomainGraphicsDefPtr def,
virDomainGraphicsSpiceStreamingModeTypeFromString(mode)) <= 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("unknown spice streaming mode"));
- VIR_FREE(mode);
goto error;
}
- VIR_FREE(mode);
def->data.spice.streaming = modeVal;
} else if (virXMLNodeNameEqual(cur, "clipboard")) {
- char *copypaste = virXMLPropString(cur, "copypaste");
int copypasteVal;
+ VIR_AUTOFREE(char *) copypaste = virXMLPropString(cur, "copypaste");
if (!copypaste) {
virReportError(VIR_ERR_XML_ERROR, "%s",
@@ -14238,15 +13990,13 @@ virDomainGraphicsDefParseXMLSpice(virDomainGraphicsDefPtr def,
virTristateBoolTypeFromString(copypaste)) <= 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unknown copypaste value '%s'"), copypaste);
- VIR_FREE(copypaste);
goto error;
}
- VIR_FREE(copypaste);
def->data.spice.copypaste = copypasteVal;
} else if (virXMLNodeNameEqual(cur, "filetransfer")) {
- char *enable = virXMLPropString(cur, "enable");
int enableVal;
+ VIR_AUTOFREE(char *) enable = virXMLPropString(cur, "enable");
if (!enable) {
virReportError(VIR_ERR_XML_ERROR, "%s",
@@ -14258,21 +14008,18 @@ virDomainGraphicsDefParseXMLSpice(virDomainGraphicsDefPtr def,
virTristateBoolTypeFromString(enable)) <= 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unknown enable value '%s'"), enable);
- VIR_FREE(enable);
goto error;
}
- VIR_FREE(enable);
def->data.spice.filetransfer = enableVal;
} else if (virXMLNodeNameEqual(cur, "gl")) {
- char *enable = virXMLPropString(cur, "enable");
- char *rendernode = virXMLPropString(cur, "rendernode");
int enableVal;
+ VIR_AUTOFREE(char *) enable = virXMLPropString(cur, "enable");
+ VIR_AUTOFREE(char *) rendernode = virXMLPropString(cur, "rendernode");
if (!enable) {
virReportError(VIR_ERR_XML_ERROR, "%s",
_("spice gl element missing enable"));
- VIR_FREE(rendernode);
goto error;
}
@@ -14280,18 +14027,15 @@ virDomainGraphicsDefParseXMLSpice(virDomainGraphicsDefPtr def,
virTristateBoolTypeFromString(enable)) <= 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unknown enable value '%s'"), enable);
- VIR_FREE(enable);
- VIR_FREE(rendernode);
goto error;
}
- VIR_FREE(enable);
def->data.spice.gl = enableVal;
VIR_STEAL_PTR(def->data.spice.rendernode, rendernode);
} else if (virXMLNodeNameEqual(cur, "mouse")) {
- char *mode = virXMLPropString(cur, "mode");
int modeVal;
+ VIR_AUTOFREE(char *) mode = virXMLPropString(cur, "mode");
if (!mode) {
virReportError(VIR_ERR_XML_ERROR, "%s",
@@ -14303,10 +14047,8 @@ virDomainGraphicsDefParseXMLSpice(virDomainGraphicsDefPtr def,
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unknown mouse mode value '%s'"),
mode);
- VIR_FREE(mode);
goto error;
}
- VIR_FREE(mode);
def->data.spice.mousemode = modeVal;
}
@@ -14316,10 +14058,6 @@ virDomainGraphicsDefParseXMLSpice(virDomainGraphicsDefPtr def,
ret = 0;
error:
- VIR_FREE(port);
- VIR_FREE(tlsPort);
- VIR_FREE(autoport);
- VIR_FREE(defaultMode);
return ret;
}
@@ -14368,8 +14106,8 @@ virDomainGraphicsDefParseXML(virDomainXMLOptionPtr xmlopt,
unsigned int flags)
{
virDomainGraphicsDefPtr def;
- char *type = NULL;
int typeVal;
+ VIR_AUTOFREE(char *) type = NULL;
if (!(def = virDomainGraphicsDefNew(xmlopt)))
return NULL;
@@ -14418,8 +14156,6 @@ virDomainGraphicsDefParseXML(virDomainXMLOptionPtr xmlopt,
}
cleanup:
- VIR_FREE(type);
-
return def;
error:
@@ -14432,8 +14168,8 @@ virDomainGraphicsDefParseXML(virDomainXMLOptionPtr xmlopt,
static virDomainSoundCodecDefPtr
virDomainSoundCodecDefParseXML(xmlNodePtr node)
{
- char *type;
virDomainSoundCodecDefPtr def;
+ VIR_AUTOFREE(char *) type = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -14446,8 +14182,6 @@ virDomainSoundCodecDefParseXML(xmlNodePtr node)
}
cleanup:
- VIR_FREE(type);
-
return def;
error:
@@ -14463,9 +14197,9 @@ virDomainSoundDefParseXML(virDomainXMLOptionPtr xmlopt,
xmlXPathContextPtr ctxt,
unsigned int flags)
{
- char *model;
virDomainSoundDefPtr def;
xmlNodePtr save = ctxt->node;
+ VIR_AUTOFREE(char *) model = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -14482,7 +14216,7 @@ virDomainSoundDefParseXML(virDomainXMLOptionPtr xmlopt,
if (def->model == VIR_DOMAIN_SOUND_MODEL_ICH6 ||
def->model == VIR_DOMAIN_SOUND_MODEL_ICH9) {
int ncodecs;
- xmlNodePtr *codecNodes = NULL;
+ VIR_AUTOFREE(xmlNodePtr *) codecNodes = NULL;
/* parse the subelements for sound models that support it */
ncodecs = virXPathNodeSet("./codec", ctxt, &codecNodes);
@@ -14492,22 +14226,17 @@ virDomainSoundDefParseXML(virDomainXMLOptionPtr xmlopt,
if (ncodecs > 0) {
size_t i;
- if (VIR_ALLOC_N(def->codecs, ncodecs) < 0) {
- VIR_FREE(codecNodes);
+ if (VIR_ALLOC_N(def->codecs, ncodecs) < 0)
goto error;
- }
for (i = 0; i < ncodecs; i++) {
virDomainSoundCodecDefPtr codec = virDomainSoundCodecDefParseXML(codecNodes[i]);
- if (codec == NULL) {
- VIR_FREE(codecNodes);
+ if (codec == NULL)
goto error;
- }
codec->cad = def->ncodecs; /* that will do for now */
def->codecs[def->ncodecs++] = codec;
}
- VIR_FREE(codecNodes);
}
}
@@ -14515,8 +14244,6 @@ virDomainSoundDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error;
cleanup:
- VIR_FREE(model);
-
ctxt->node = save;
return def;
@@ -14532,9 +14259,9 @@ virDomainWatchdogDefParseXML(virDomainXMLOptionPtr xmlopt,
xmlNodePtr node,
unsigned int flags)
{
- char *model = NULL;
- char *action = NULL;
virDomainWatchdogDefPtr def;
+ VIR_AUTOFREE(char *) model = NULL;
+ VIR_AUTOFREE(char *) action = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -14568,9 +14295,6 @@ virDomainWatchdogDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error;
cleanup:
- VIR_FREE(action);
- VIR_FREE(model);
-
return def;
error:
@@ -14586,13 +14310,13 @@ virDomainRNGDefParseXML(virDomainXMLOptionPtr xmlopt,
xmlXPathContextPtr ctxt,
unsigned int flags)
{
- char *model = NULL;
- char *backend = NULL;
- char *type = NULL;
virDomainRNGDefPtr def;
xmlNodePtr save = ctxt->node;
- xmlNodePtr *backends = NULL;
int nbackends;
+ VIR_AUTOFREE(xmlNodePtr *) backends = NULL;
+ VIR_AUTOFREE(char *) model = NULL;
+ VIR_AUTOFREE(char *) backend = NULL;
+ VIR_AUTOFREE(char *) type = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -14684,10 +14408,6 @@ virDomainRNGDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error;
cleanup:
- VIR_FREE(model);
- VIR_FREE(backend);
- VIR_FREE(type);
- VIR_FREE(backends);
ctxt->node = save;
return def;
@@ -14704,11 +14424,11 @@ virDomainMemballoonDefParseXML(virDomainXMLOptionPtr xmlopt,
xmlXPathContextPtr ctxt,
unsigned int flags)
{
- char *model;
- char *deflate = NULL;
virDomainMemballoonDefPtr def;
xmlNodePtr save = ctxt->node;
unsigned int period = 0;
+ VIR_AUTOFREE(char *) model = NULL;
+ VIR_AUTOFREE(char *) deflate = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -14755,9 +14475,6 @@ virDomainMemballoonDefParseXML(virDomainXMLOptionPtr xmlopt,
goto error;
cleanup:
- VIR_FREE(model);
- VIR_FREE(deflate);
-
ctxt->node = save;
return def;
@@ -14793,13 +14510,12 @@ virDomainShmemDefParseXML(virDomainXMLOptionPtr xmlopt,
xmlXPathContextPtr ctxt,
unsigned int flags)
{
- char *tmp = NULL;
virDomainShmemDefPtr def = NULL;
virDomainShmemDefPtr ret = NULL;
xmlNodePtr msi = NULL;
xmlNodePtr save = ctxt->node;
xmlNodePtr server = NULL;
-
+ VIR_AUTOFREE(char *) tmp = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -14863,7 +14579,6 @@ virDomainShmemDefParseXML(virDomainXMLOptionPtr xmlopt,
}
def->msi.ioeventfd = val;
}
- VIR_FREE(tmp);
}
/* msi option is only relevant with a server */
@@ -14880,7 +14595,6 @@ virDomainShmemDefParseXML(virDomainXMLOptionPtr xmlopt,
VIR_STEAL_PTR(ret, def);
cleanup:
ctxt->node = save;
- VIR_FREE(tmp);
virDomainShmemDefFree(def);
return ret;
}
@@ -14952,7 +14666,7 @@ virSysinfoSystemParseXML(xmlNodePtr node,
{
int ret = -1;
virSysinfoSystemDefPtr def;
- char *tmpUUID = NULL;
+ VIR_AUTOFREE(char *) tmpUUID = NULL;
if (!virXMLNodeNameEqual(node, "system")) {
virReportError(VIR_ERR_XML_ERROR, "%s",
@@ -15013,7 +14727,6 @@ virSysinfoSystemParseXML(xmlNodePtr node,
ret = 0;
cleanup:
virSysinfoSystemDefFree(def);
- VIR_FREE(tmpUUID);
return ret;
}
@@ -15023,10 +14736,11 @@ virSysinfoBaseBoardParseXML(xmlXPathContextPtr ctxt,
size_t *nbaseBoard)
{
int ret = -1;
- virSysinfoBaseBoardDefPtr boards = NULL;
size_t i, nboards = 0;
- xmlNodePtr *nodes = NULL, oldnode = ctxt->node;
+ xmlNodePtr oldnode = ctxt->node;
int n;
+ VIR_AUTOFREE(virSysinfoBaseBoardDefPtr) boards = NULL;
+ VIR_AUTOFREE(xmlNodePtr *) nodes = NULL;
if ((n = virXPathNodeSet("./baseBoard", ctxt, &nodes)) < 0)
return ret;
@@ -15064,8 +14778,6 @@ virSysinfoBaseBoardParseXML(xmlXPathContextPtr ctxt,
*nbaseBoard = nboards;
ret = 0;
cleanup:
- VIR_FREE(boards);
- VIR_FREE(nodes);
ctxt->node = oldnode;
return ret;
}
@@ -15077,9 +14789,9 @@ virSysinfoOEMStringsParseXML(xmlXPathContextPtr ctxt,
{
int ret = -1;
virSysinfoOEMStringsDefPtr def;
- xmlNodePtr *strings = NULL;
int nstrings;
size_t i;
+ VIR_AUTOFREE(xmlNodePtr *) strings = NULL;
nstrings = virXPathNodeSet("./entry", ctxt, &strings);
if (nstrings < 0)
@@ -15100,7 +14812,6 @@ virSysinfoOEMStringsParseXML(xmlXPathContextPtr ctxt,
VIR_STEAL_PTR(*oem, def);
ret = 0;
cleanup:
- VIR_FREE(strings);
virSysinfoOEMStringsDefFree(def);
return ret;
}
@@ -15156,7 +14867,7 @@ virSysinfoParseXML(xmlNodePtr node,
{
virSysinfoDefPtr def;
xmlNodePtr oldnode, tmpnode;
- char *type;
+ VIR_AUTOFREE(char *) type = NULL;
if (!virXMLNodeNameEqual(node, "sysinfo")) {
virReportError(VIR_ERR_XML_ERROR, "%s",
@@ -15229,7 +14940,6 @@ virSysinfoParseXML(xmlNodePtr node,
}
cleanup:
- VIR_FREE(type);
return def;
error:
@@ -15323,9 +15033,9 @@ virDomainVideoAccelDefParseXML(xmlNodePtr node)
{
xmlNodePtr cur;
virDomainVideoAccelDefPtr def;
- char *accel2d = NULL;
- char *accel3d = NULL;
int val;
+ VIR_AUTOFREE(char *) accel2d = NULL;
+ VIR_AUTOFREE(char *) accel3d = NULL;
cur = node->children;
while (cur != NULL) {
@@ -15364,8 +15074,6 @@ virDomainVideoAccelDefParseXML(xmlNodePtr node)
}
cleanup:
- VIR_FREE(accel2d);
- VIR_FREE(accel3d);
return def;
}
@@ -15374,8 +15082,8 @@ virDomainVideoDriverDefParseXML(xmlNodePtr node)
{
xmlNodePtr cur;
virDomainVideoDriverDefPtr def;
- char *vgaconf = NULL;
int val;
+ VIR_AUTOFREE(char *) vgaconf = NULL;
cur = node->children;
while (cur != NULL) {
@@ -15402,7 +15110,6 @@ virDomainVideoDriverDefParseXML(xmlNodePtr node)
def->vgaconf = val;
cleanup:
- VIR_FREE(vgaconf);
return def;
}
@@ -15416,13 +15123,13 @@ virDomainVideoDefParseXML(virDomainXMLOptionPtr xmlopt,
virDomainVideoDefPtr def;
xmlNodePtr cur;
xmlNodePtr saved = ctxt->node;
- char *type = NULL;
- char *heads = NULL;
- char *vram = NULL;
- char *vram64 = NULL;
- char *ram = NULL;
- char *vgamem = NULL;
- char *primary = NULL;
+ VIR_AUTOFREE(char *) type = NULL;
+ VIR_AUTOFREE(char *) heads = NULL;
+ VIR_AUTOFREE(char *) vram = NULL;
+ VIR_AUTOFREE(char *) vram64 = NULL;
+ VIR_AUTOFREE(char *) ram = NULL;
+ VIR_AUTOFREE(char *) vgamem = NULL;
+ VIR_AUTOFREE(char *) primary = NULL;
if (!(def = virDomainVideoDefNew()))
return NULL;
@@ -15529,14 +15236,6 @@ virDomainVideoDefParseXML(virDomainXMLOptionPtr xmlopt,
cleanup:
ctxt->node = saved;
-
- VIR_FREE(type);
- VIR_FREE(ram);
- VIR_FREE(vram);
- VIR_FREE(vram64);
- VIR_FREE(vgamem);
- VIR_FREE(heads);
-
return def;
error:
@@ -15553,8 +15252,8 @@ virDomainHostdevDefParseXML(virDomainXMLOptionPtr xmlopt,
{
virDomainHostdevDefPtr def;
xmlNodePtr save = ctxt->node;
- char *mode = virXMLPropString(node, "mode");
- char *type = virXMLPropString(node, "type");
+ VIR_AUTOFREE(char *) mode = virXMLPropString(node, "mode");
+ VIR_AUTOFREE(char *) type = virXMLPropString(node, "type");
ctxt->node = node;
@@ -15613,8 +15312,6 @@ virDomainHostdevDefParseXML(virDomainXMLOptionPtr xmlopt,
}
cleanup:
- VIR_FREE(type);
- VIR_FREE(mode);
ctxt->node = save;
return def;
@@ -15633,7 +15330,8 @@ virDomainRedirdevDefParseXML(virDomainXMLOptionPtr xmlopt,
{
xmlNodePtr cur;
virDomainRedirdevDefPtr def;
- char *bus = NULL, *type = NULL;
+ VIR_AUTOFREE(char *) bus = NULL;
+ VIR_AUTOFREE(char *) type = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -15689,8 +15387,6 @@ virDomainRedirdevDefParseXML(virDomainXMLOptionPtr xmlopt,
cleanup:
- VIR_FREE(bus);
- VIR_FREE(type);
return def;
error:
@@ -15740,10 +15436,12 @@ virDomainRedirFilterUSBVersionHelper(const char *version,
static virDomainRedirFilterUSBDevDefPtr
virDomainRedirFilterUSBDevDefParseXML(xmlNodePtr node)
{
- char *class;
- char *vendor = NULL, *product = NULL;
- char *version = NULL, *allow = NULL;
virDomainRedirFilterUSBDevDefPtr def;
+ VIR_AUTOFREE(char *) class = NULL;
+ VIR_AUTOFREE(char *) vendor = NULL;
+ VIR_AUTOFREE(char *) product = NULL;
+ VIR_AUTOFREE(char *) version = NULL;
+ VIR_AUTOFREE(char *) allow = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -15815,11 +15513,6 @@ virDomainRedirFilterUSBDevDefParseXML(xmlNodePtr node)
}
cleanup:
- VIR_FREE(class);
- VIR_FREE(vendor);
- VIR_FREE(product);
- VIR_FREE(version);
- VIR_FREE(allow);
return def;
error:
@@ -15834,9 +15527,9 @@ virDomainRedirFilterDefParseXML(xmlNodePtr node,
{
int n;
size_t i;
- xmlNodePtr *nodes = NULL;
xmlNodePtr save = ctxt->node;
virDomainRedirFilterDefPtr def = NULL;
+ VIR_AUTOFREE(xmlNodePtr *) nodes = NULL;
if (VIR_ALLOC(def) < 0)
goto error;
@@ -15856,13 +15549,11 @@ virDomainRedirFilterDefParseXML(xmlNodePtr node,
goto error;
def->usbdevs[def->nusbdevs++] = usbdev;
}
- VIR_FREE(nodes);
ctxt->node = save;
return def;
error:
- VIR_FREE(nodes);
virDomainRedirFilterDefFree(def);
return NULL;
}
@@ -15875,7 +15566,8 @@ virDomainEventActionParseXML(xmlXPathContextPtr ctxt,
int defaultVal,
virEventActionFromStringFunc convFunc)
{
- char *tmp = virXPathString(xpath, ctxt);
+ VIR_AUTOFREE(char *) tmp = virXPathString(xpath, ctxt);
+
if (tmp == NULL) {
*val = defaultVal;
} else {
@@ -15883,10 +15575,8 @@ virDomainEventActionParseXML(xmlXPathContextPtr ctxt,
if (*val < 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unknown %s action: %s"), name, tmp);
- VIR_FREE(tmp);
return -1;
}
- VIR_FREE(tmp);
}
return 0;
}
@@ -15897,7 +15587,8 @@ virDomainPMStateParseXML(xmlXPathContextPtr ctxt,
int *val)
{
int ret = -1;
- char *tmp = virXPathString(xpath, ctxt);
+ VIR_AUTOFREE(char *) tmp = virXPathString(xpath, ctxt);
+
if (tmp) {
*val = virTristateBoolTypeFromString(tmp);
if (*val < 0) {
@@ -15909,7 +15600,6 @@ virDomainPMStateParseXML(xmlXPathContextPtr ctxt,
ret = 0;
cleanup:
- VIR_FREE(tmp);
return ret;
}
@@ -15918,10 +15608,10 @@ static int
virDomainPerfEventDefParseXML(virDomainPerfDefPtr perf,
xmlNodePtr node)
{
- char *name = NULL;
- char *enabled = NULL;
int event;
int ret = -1;
+ VIR_AUTOFREE(char *) name = NULL;
+ VIR_AUTOFREE(char *) enabled = NULL;
if (!(name = virXMLPropString(node, "name"))) {
virReportError(VIR_ERR_XML_ERROR, "%s", _("missing perf event name"));
@@ -15956,8 +15646,6 @@ virDomainPerfEventDefParseXML(virDomainPerfDefPtr perf,
ret = 0;
cleanup:
- VIR_FREE(name);
- VIR_FREE(enabled);
return ret;
}
@@ -15967,8 +15655,8 @@ virDomainPerfDefParseXML(virDomainDefPtr def,
{
size_t i;
int ret = -1;
- xmlNodePtr *nodes = NULL;
int n;
+ VIR_AUTOFREE(xmlNodePtr *) nodes = NULL;
if ((n = virXPathNodeSet("./perf/event", ctxt, &nodes)) < 0)
return n;
@@ -15981,7 +15669,6 @@ virDomainPerfDefParseXML(virDomainDefPtr def,
ret = 0;
cleanup:
- VIR_FREE(nodes);
return ret;
}
@@ -15991,9 +15678,9 @@ virDomainMemorySourceDefParseXML(xmlNodePtr node,
virDomainMemoryDefPtr def)
{
int ret = -1;
- char *nodemask = NULL;
xmlNodePtr save = ctxt->node;
ctxt->node = node;
+ VIR_AUTOFREE(char *) nodemask = NULL;
switch ((virDomainMemoryModel) def->model) {
case VIR_DOMAIN_MEMORY_MODEL_DIMM:
@@ -16038,7 +15725,6 @@ virDomainMemorySourceDefParseXML(xmlNodePtr node,
ret = 0;
cleanup:
- VIR_FREE(nodemask);
ctxt->node = save;
return ret;
}
@@ -16101,10 +15787,10 @@ static virDomainSEVDefPtr
virDomainSEVDefParseXML(xmlNodePtr sevNode,
xmlXPathContextPtr ctxt)
{
- char *type = NULL;
xmlNodePtr save = ctxt->node;
virDomainSEVDefPtr def;
unsigned long policy;
+ VIR_AUTOFREE(char *) type = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -16154,7 +15840,6 @@ virDomainSEVDefParseXML(xmlNodePtr sevNode,
def->session = virXPathString("string(./session)", ctxt);
cleanup:
- VIR_FREE(type);
ctxt->node = save;
return def;
@@ -16170,11 +15855,11 @@ virDomainMemoryDefParseXML(virDomainXMLOptionPtr xmlopt,
xmlXPathContextPtr ctxt,
unsigned int flags)
{
- char *tmp = NULL;
xmlNodePtr save = ctxt->node;
xmlNodePtr node;
virDomainMemoryDefPtr def;
int val;
+ VIR_AUTOFREE(char *) tmp = NULL;
if (VIR_ALLOC(def) < 0)
return NULL;
@@ -16214,7 +15899,6 @@ virDomainMemoryDefParseXML(virDomainXMLOptionPtr xmlopt,
def->discard = val;
}
- VIR_FREE(tmp);
/* source */
if ((node = virXPathNode("./source", ctxt)) &&
@@ -16239,7 +15923,6 @@ virDomainMemoryDefParseXML(virDomainXMLOptionPtr xmlopt,
return def;
error:
- VIR_FREE(tmp);
virDomainMemoryDefFree(def);
ctxt->node = save;
return NULL;
@@ -16250,11 +15933,12 @@ static virDomainIOMMUDefPtr
virDomainIOMMUDefParseXML(xmlNodePtr node,
xmlXPathContextPtr ctxt)
{
- virDomainIOMMUDefPtr iommu = NULL, ret = NULL;
+ virDomainIOMMUDefPtr ret = NULL;
xmlNodePtr save = ctxt->node;
xmlNodePtr driver;
- char *tmp = NULL;
int val;
+ VIR_AUTOFREE(char *) tmp = NULL;
+ VIR_AUTOFREE(virDomainIOMMUDefPtr) iommu = NULL;
ctxt->node = node;
@@ -16315,8 +15999,6 @@ virDomainIOMMUDefParseXML(xmlNodePtr node,
cleanup:
ctxt->node = save;
- VIR_FREE(iommu);
- VIR_FREE(tmp);
return ret;
}
@@ -16327,11 +16009,12 @@ virDomainVsockDefParseXML(virDomainXMLOptionPtr xmlopt,
xmlXPathContextPtr ctxt,
unsigned int flags)
{
- virDomainVsockDefPtr vsock = NULL, ret = NULL;
+ virDomainVsockDefPtr ret = NULL;
xmlNodePtr save = ctxt->node;
xmlNodePtr cid;
- char *tmp = NULL;
int val;
+ VIR_AUTOFREE(char *) tmp = NULL;
+ VIR_AUTOFREE(virDomainVsockDefPtr) vsock = NULL;
ctxt->node = node;
@@ -16380,8 +16063,6 @@ virDomainVsockDefParseXML(virDomainXMLOptionPtr xmlopt,
cleanup:
ctxt->node = save;
- VIR_FREE(vsock);
- VIR_FREE(tmp);
return ret;
}
@@ -17975,17 +17656,15 @@ virDomainDefGetDefaultEmulator(virDomainDefPtr def,
virCapsPtr caps)
{
char *retemu;
- virCapsDomainDataPtr capsdata;
+ VIR_AUTOFREE(virCapsDomainDataPtr) capsdata = NULL;
if (!(capsdata = virCapabilitiesDomainDataLookup(caps, def->os.type,
def->os.arch, def->virtType, NULL, NULL)))
return NULL;
- if (VIR_STRDUP(retemu, capsdata->emulator) < 0) {
- VIR_FREE(capsdata);
+ if (VIR_STRDUP(retemu, capsdata->emulator) < 0)
return NULL;
- }
- VIR_FREE(capsdata);
+
return retemu;
}
@@ -17993,12 +17672,12 @@ static int
virDomainDefParseBootXML(xmlXPathContextPtr ctxt,
virDomainDefPtr def)
{
- xmlNodePtr *nodes = NULL;
xmlNodePtr node;
size_t i;
int n;
- char *tmp = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) tmp = NULL;
+ VIR_AUTOFREE(xmlNodePtr *) nodes = NULL;
/* analysis of the boot devices */
if ((n = virXPathNodeSet("./os/boot", ctxt, &nodes)) < 0)
@@ -18080,8 +17759,6 @@ virDomainDefParseBootXML(xmlXPathContextPtr ctxt,
ret = 0;
cleanup:
- VIR_FREE(tmp);
- VIR_FREE(nodes);
return ret;
}
@@ -18162,7 +17839,7 @@ static virDomainIOThreadIDDefPtr
virDomainIOThreadIDDefParseXML(xmlNodePtr node)
{
virDomainIOThreadIDDefPtr iothrid;
- char *tmp = NULL;
+ VIR_AUTOFREE(char *) tmp = NULL;
if (VIR_ALLOC(iothrid) < 0)
return NULL;
@@ -18180,7 +17857,6 @@ virDomainIOThreadIDDefParseXML(xmlNodePtr node)
}
cleanup:
- VIR_FREE(tmp);
return iothrid;
error:
@@ -18195,10 +17871,10 @@ virDomainDefParseIOThreads(virDomainDefPtr def,
xmlXPathContextPtr ctxt)
{
size_t i;
- char *tmp;
int n = 0;
unsigned int iothreads = 0;
- xmlNodePtr *nodes = NULL;
+ VIR_AUTOFREE(char *) tmp = NULL;
+ VIR_AUTOFREE(xmlNodePtr *) nodes = NULL;
tmp = virXPathString("string(./iothreads[1])", ctxt);
if (tmp && virStrToLong_uip(tmp, NULL, 10, &iothreads) < 0) {
@@ -18206,7 +17882,6 @@ virDomainDefParseIOThreads(virDomainDefPtr def,
_("invalid iothreads count '%s'"), tmp);
goto error;
}
- VIR_FREE(tmp);
/* Extract any iothread id's defined */
if ((n = virXPathNodeSet("./iothreadids/iothread", ctxt, &nodes)) < 0)
@@ -18232,7 +17907,6 @@ virDomainDefParseIOThreads(virDomainDefPtr def,
}
def->iothreadids[def->niothreadids++] = iothrid;
}
- VIR_FREE(nodes);
if (virDomainIOThreadIDDefArrayInit(def, iothreads) < 0)
goto error;
@@ -18240,7 +17914,6 @@ virDomainDefParseIOThreads(virDomainDefPtr def,
return 0;
error:
- VIR_FREE(nodes);
return -1;
}
@@ -18256,8 +17929,8 @@ virDomainVcpuPinDefParseXML(virDomainDefPtr def,
{
virDomainVcpuDefPtr vcpu;
unsigned int vcpuid;
- char *tmp = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) tmp = NULL;
if (!(tmp = virXMLPropString(node, "vcpu"))) {
virReportError(VIR_ERR_XML_ERROR, "%s", _("missing vcpu id in vcpupin"));
@@ -18301,7 +17974,6 @@ virDomainVcpuPinDefParseXML(virDomainDefPtr def,
ret = 0;
cleanup:
- VIR_FREE(tmp);
return ret;
}
@@ -18317,7 +17989,7 @@ virDomainIOThreadPinDefParseXML(xmlNodePtr node,
int ret = -1;
virDomainIOThreadIDDefPtr iothrid;
unsigned int iothreadid;
- char *tmp = NULL;
+ VIR_AUTOFREE(char *) tmp = NULL;
VIR_AUTOPTR(virBitmap) cpumask = NULL;
if (!(tmp = virXMLPropString(node, "iothread"))) {
@@ -18373,7 +18045,6 @@ virDomainIOThreadPinDefParseXML(xmlNodePtr node,
ret = 0;
cleanup:
- VIR_FREE(tmp);
return ret;
}
@@ -18386,7 +18057,7 @@ static virBitmapPtr
virDomainEmulatorPinDefParseXML(xmlNodePtr node)
{
virBitmapPtr ret = NULL;
- char *tmp = NULL;
+ VIR_AUTOFREE(char *) tmp = NULL;
VIR_AUTOPTR(virBitmap) def = NULL;
if (!(tmp = virXMLPropString(node, "cpuset"))) {
@@ -18407,7 +18078,6 @@ virDomainEmulatorPinDefParseXML(xmlNodePtr node)
VIR_STEAL_PTR(ret, def);
cleanup:
- VIR_FREE(tmp);
return ret;
}
@@ -18543,7 +18213,7 @@ virDomainHugepagesParseXML(xmlNodePtr node,
{
int ret = -1;
xmlNodePtr oldnode = ctxt->node;
- char *nodeset = NULL;
+ VIR_AUTOFREE(char *) nodeset = NULL;
ctxt->node = node;
@@ -18571,7 +18241,6 @@ virDomainHugepagesParseXML(xmlNodePtr node,
ret = 0;
cleanup:
- VIR_FREE(nodeset);
ctxt->node = oldnode;
return ret;
}
@@ -18648,9 +18317,9 @@ virDomainLoaderDefParseXML(xmlNodePtr node,
virDomainLoaderDefPtr loader)
{
int ret = -1;
- char *readonly_str = NULL;
- char *secure_str = NULL;
- char *type_str = NULL;
+ VIR_AUTOFREE(char *) readonly_str = NULL;
+ VIR_AUTOFREE(char *) secure_str = NULL;
+ VIR_AUTOFREE(char *) type_str = NULL;
readonly_str = virXMLPropString(node, "readonly");
secure_str = virXMLPropString(node, "secure");
@@ -18683,9 +18352,6 @@ virDomainLoaderDefParseXML(xmlNodePtr node,
ret = 0;
cleanup:
- VIR_FREE(readonly_str);
- VIR_FREE(secure_str);
- VIR_FREE(type_str);
return ret;
}
@@ -18697,8 +18363,8 @@ virDomainSchedulerParse(xmlNodePtr node,
int *priority)
{
virBitmapPtr ret = NULL;
- char *tmp = NULL;
int pol = 0;
+ VIR_AUTOFREE(char *) tmp = NULL;
if (!(tmp = virXMLPropString(node, name))) {
virReportError(VIR_ERR_XML_ERROR,
@@ -18747,13 +18413,11 @@ virDomainSchedulerParse(xmlNodePtr node,
_("Invalid value for element priority"));
goto error;
}
- VIR_FREE(tmp);
}
return ret;
error:
- VIR_FREE(tmp);
virBitmapFree(ret);
return NULL;
}
@@ -18836,13 +18500,13 @@ virDomainVcpuParse(virDomainDefPtr def,
virDomainXMLOptionPtr xmlopt)
{
int n;
- xmlNodePtr *nodes = NULL;
xmlNodePtr vcpuNode;
size_t i;
- char *tmp = NULL;
unsigned int maxvcpus;
unsigned int vcpus;
int ret = -1;
+ VIR_AUTOFREE(char *) tmp = NULL;
+ VIR_AUTOFREE(xmlNodePtr *) nodes = NULL;
vcpus = maxvcpus = 1;
@@ -18976,9 +18640,6 @@ virDomainVcpuParse(virDomainDefPtr def,
ret = 0;
cleanup:
- VIR_FREE(nodes);
- VIR_FREE(tmp);
-
return ret;
}
@@ -18987,12 +18648,12 @@ static int
virDomainDefParseBootOptions(virDomainDefPtr def,
xmlXPathContextPtr ctxt)
{
- xmlNodePtr *nodes = NULL;
- char *tmp = NULL;
char *name = NULL;
int ret = -1;
size_t i;
int n;
+ VIR_AUTOFREE(xmlNodePtr *) nodes = NULL;
+ VIR_AUTOFREE(char *) tmp = NULL;
/*
* Booting options for different OS types....
@@ -19123,8 +18784,6 @@ virDomainDefParseBootOptions(virDomainDefPtr def,
ret = 0;
error:
- VIR_FREE(nodes);
- VIR_FREE(tmp);
return ret;
}
@@ -19134,8 +18793,8 @@ virDomainResctrlParseVcpus(virDomainDefPtr def,
xmlNodePtr node,
virBitmapPtr *vcpus)
{
- char *vcpus_str = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) vcpus_str = NULL;
vcpus_str = virXMLPropString(node, "vcpus");
if (!vcpus_str) {
@@ -19156,7 +18815,6 @@ virDomainResctrlParseVcpus(virDomainDefPtr def,
ret = 0;
cleanup:
- VIR_FREE(vcpus_str);
return ret;
}
@@ -19196,8 +18854,8 @@ virDomainCachetuneDefParseCache(xmlXPathContextPtr ctxt,
unsigned int cache;
int type;
unsigned long long size;
- char *tmp = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) tmp = NULL;
ctxt->node = node;
@@ -19242,7 +18900,6 @@ virDomainCachetuneDefParseCache(xmlXPathContextPtr ctxt,
tmp);
goto cleanup;
}
- VIR_FREE(tmp);
if (virDomainParseScaledValue("./@size", "./@unit",
ctxt, &size, 1024,
@@ -19255,7 +18912,6 @@ virDomainCachetuneDefParseCache(xmlXPathContextPtr ctxt,
ret = 0;
cleanup:
ctxt->node = oldnode;
- VIR_FREE(tmp);
return ret;
}
@@ -19328,14 +18984,14 @@ virDomainResctrlMonDefParse(virDomainDefPtr def,
{
virDomainResctrlMonDefPtr domresmon = NULL;
xmlNodePtr oldnode = ctxt->node;
- xmlNodePtr *nodes = NULL;
unsigned int level = 0;
- char *tmp = NULL;
- char *id = NULL;
size_t i = 0;
int n = 0;
int rv = -1;
int ret = -1;
+ VIR_AUTOFREE(xmlNodePtr *) nodes = NULL;
+ VIR_AUTOFREE(char *) tmp = NULL;
+ VIR_AUTOFREE(char *) id = NULL;
ctxt->node = node;
@@ -19423,9 +19079,6 @@ virDomainResctrlMonDefParse(virDomainDefPtr def,
ret = 0;
cleanup:
ctxt->node = oldnode;
- VIR_FREE(id);
- VIR_FREE(tmp);
- VIR_FREE(nodes);
virDomainResctrlMonDefFree(domresmon);
return ret;
}
@@ -19437,10 +19090,10 @@ virDomainResctrlNew(xmlNodePtr node,
virBitmapPtr vcpus,
unsigned int flags)
{
- char *vcpus_str = NULL;
- char *alloc_id = NULL;
virDomainResctrlDefPtr resctrl = NULL;
virDomainResctrlDefPtr ret = NULL;
+ VIR_AUTOFREE(char *) vcpus_str = NULL;
+ VIR_AUTOFREE(char *) alloc_id = NULL;
/* We need to format it back because we need to be consistent in the naming
* even when users specify some "sub-optimal" string there. */
@@ -19478,8 +19131,6 @@ virDomainResctrlNew(xmlNodePtr node,
VIR_STEAL_PTR(ret, resctrl);
cleanup:
virDomainResctrlDefFree(resctrl);
- VIR_FREE(alloc_id);
- VIR_FREE(vcpus_str);
return ret;
}
@@ -19491,13 +19142,13 @@ virDomainCachetuneDefParse(virDomainDefPtr def,
unsigned int flags)
{
xmlNodePtr oldnode = ctxt->node;
- xmlNodePtr *nodes = NULL;
virResctrlAllocPtr alloc = NULL;
virDomainResctrlDefPtr resctrl = NULL;
ssize_t i = 0;
int n;
int ret = -1;
VIR_AUTOPTR(virBitmap) vcpus = NULL;
+ VIR_AUTOFREE(xmlNodePtr *) nodes = NULL;
ctxt->node = node;
@@ -19557,7 +19208,6 @@ virDomainCachetuneDefParse(virDomainDefPtr def,
ctxt->node = oldnode;
virDomainResctrlDefFree(resctrl);
virObjectUnref(alloc);
- VIR_FREE(nodes);
return ret;
}
@@ -19569,10 +19219,10 @@ virDomainDefParseCaps(virDomainDefPtr def,
unsigned int flags)
{
int ret = -1;
- char *virttype = NULL;
- char *arch = NULL;
- char *ostype = NULL;
- virCapsDomainDataPtr capsdata = NULL;
+ VIR_AUTOFREE(char *) virttype = NULL;
+ VIR_AUTOFREE(char *) arch = NULL;
+ VIR_AUTOFREE(char *) ostype = NULL;
+ VIR_AUTOFREE(virCapsDomainDataPtr) capsdata = NULL;
virttype = virXPathString("string(./@type)", ctxt);
ostype = virXPathString("string(./os/type[1])", ctxt);
@@ -19643,10 +19293,6 @@ virDomainDefParseCaps(virDomainDefPtr def,
ret = 0;
cleanup:
- VIR_FREE(virttype);
- VIR_FREE(ostype);
- VIR_FREE(arch);
- VIR_FREE(capsdata);
return ret;
}
@@ -19659,8 +19305,8 @@ virDomainMemorytuneDefParseMemory(xmlXPathContextPtr ctxt,
xmlNodePtr oldnode = ctxt->node;
unsigned int id;
unsigned int bandwidth;
- char *tmp = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) tmp = NULL;
ctxt->node = node;
@@ -19690,14 +19336,12 @@ virDomainMemorytuneDefParseMemory(xmlXPathContextPtr ctxt,
tmp);
goto cleanup;
}
- VIR_FREE(tmp);
if (virResctrlAllocSetMemoryBandwidth(alloc, id, bandwidth) < 0)
goto cleanup;
ret = 0;
cleanup:
ctxt->node = oldnode;
- VIR_FREE(tmp);
return ret;
}
@@ -19709,10 +19353,10 @@ virDomainMemorytuneDefParse(virDomainDefPtr def,
unsigned int flags)
{
xmlNodePtr oldnode = ctxt->node;
- xmlNodePtr *nodes = NULL;
virResctrlAllocPtr alloc = NULL;
virDomainResctrlDefPtr resctrl = NULL;
VIR_AUTOPTR(virBitmap) vcpus = NULL;
+ VIR_AUTOFREE(xmlNodePtr *) nodes = NULL;
ssize_t i = 0;
int n;
@@ -19771,7 +19415,6 @@ virDomainMemorytuneDefParse(virDomainDefPtr def,
ctxt->node = oldnode;
virDomainResctrlDefFree(resctrl);
virObjectUnref(alloc);
- VIR_FREE(nodes);
return ret;
}
@@ -19784,8 +19427,7 @@ virDomainDefParseXML(xmlDocPtr xml,
virDomainXMLOptionPtr xmlopt,
unsigned int flags)
{
- xmlNodePtr *nodes = NULL, node = NULL;
- char *tmp = NULL;
+ xmlNodePtr node = NULL;
size_t i, j;
int n, gic_version;
long id = -1;
@@ -19795,18 +19437,19 @@ virDomainDefParseXML(xmlDocPtr xml,
bool usb_other = false;
bool usb_master = false;
char *netprefix = NULL;
+ VIR_AUTOFREE(xmlNodePtr *) nodes = NULL;
+ VIR_AUTOFREE(char *) tmp = NULL;
if (flags & VIR_DOMAIN_DEF_PARSE_VALIDATE_SCHEMA) {
- char *schema = virFileFindResource("domain.rng",
- abs_topsrcdir "/docs/schemas",
- PKGDATADIR "/schemas");
+ VIR_AUTOFREE(char *) schema = NULL;
+
+ schema = virFileFindResource("domain.rng",
+ abs_topsrcdir "/docs/schemas",
+ PKGDATADIR "/schemas");
if (!schema)
return NULL;
- if (virXMLValidateAgainstSchema(schema, xml) < 0) {
- VIR_FREE(schema);
+ if (virXMLValidateAgainstSchema(schema, xml) < 0)
return NULL;
- }
- VIR_FREE(schema);
}
if (!(def = virDomainDefNew()))
@@ -21453,7 +21096,6 @@ virDomainDefParseXML(xmlDocPtr xml,
def->idmap.ngidmap = n;
}
- VIR_FREE(nodes);
if ((def->idmap.uidmap && !def->idmap.gidmap) ||
(!def->idmap.uidmap && def->idmap.gidmap)) {
@@ -21482,7 +21124,6 @@ virDomainDefParseXML(xmlDocPtr xml,
goto error;
}
def->os.smbios_mode = mode;
- VIR_FREE(tmp);
}
if (virDomainKeyWrapDefParseXML(def, ctxt) < 0)
@@ -21504,8 +21145,6 @@ virDomainDefParseXML(xmlDocPtr xml,
return def;
error:
- VIR_FREE(tmp);
- VIR_FREE(nodes);
virDomainDefFree(def);
return NULL;
}
@@ -21518,17 +21157,17 @@ virDomainObjParseXML(xmlDocPtr xml,
virDomainXMLOptionPtr xmlopt,
unsigned int flags)
{
- char *tmp = NULL;
long val;
xmlNodePtr config;
xmlNodePtr oldnode;
virDomainObjPtr obj;
- xmlNodePtr *nodes = NULL;
size_t i;
int n;
int state;
int reason = 0;
void *parseOpaque = NULL;
+ VIR_AUTOFREE(char *) tmp = NULL;
+ VIR_AUTOFREE(xmlNodePtr *) nodes = NULL;
if (!(obj = virDomainObjNew(xmlopt)))
return NULL;
@@ -21554,7 +21193,6 @@ virDomainObjParseXML(xmlDocPtr xml,
if ((state = virDomainStateTypeFromString(tmp)) < 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("invalid domain state '%s'"), tmp);
- VIR_FREE(tmp);
goto error;
}
VIR_FREE(tmp);
@@ -21563,10 +21201,8 @@ virDomainObjParseXML(xmlDocPtr xml,
if ((reason = virDomainStateReasonFromString(state, tmp)) < 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("invalid domain state reason '%s'"), tmp);
- VIR_FREE(tmp);
goto error;
}
- VIR_FREE(tmp);
}
virDomainObjSetState(obj, state, reason);
@@ -21594,7 +21230,6 @@ virDomainObjParseXML(xmlDocPtr xml,
virDomainObjTaint(obj, flag);
}
}
- VIR_FREE(nodes);
if (xmlopt->privateData.parse &&
xmlopt->privateData.parse(ctxt, obj, &xmlopt->config) < 0)
@@ -21615,7 +21250,6 @@ virDomainObjParseXML(xmlDocPtr xml,
error:
virObjectUnref(obj);
- VIR_FREE(nodes);
return NULL;
}
@@ -22386,13 +22020,11 @@ virDomainChannelDefCheckABIStability(virDomainChrDefPtr src,
case VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_GUESTFWD:
if (memcmp(src->target.addr, dst->target.addr,
sizeof(*src->target.addr)) != 0) {
- char *saddr = virSocketAddrFormatFull(src->target.addr, true, ":");
- char *daddr = virSocketAddrFormatFull(dst->target.addr, true, ":");
+ VIR_AUTOFREE(char *) saddr = virSocketAddrFormatFull(src->target.addr, true, ":");
+ VIR_AUTOFREE(char *) daddr = virSocketAddrFormatFull(dst->target.addr, true, ":");
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Target channel addr %s does not match source %s"),
NULLSTR(daddr), NULLSTR(saddr));
- VIR_FREE(saddr);
- VIR_FREE(daddr);
return false;
}
break;
@@ -23152,8 +22784,8 @@ virDomainDefCheckABIStabilityFlags(virDomainDefPtr src,
{
size_t i;
virErrorPtr err;
- char *strSrc;
- char *strDst;
+ VIR_AUTOFREE(char *) strSrc = NULL;
+ VIR_AUTOFREE(char *) strDst = NULL;
if (src->virtType != dst->virtType) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
@@ -23622,8 +23254,6 @@ virDomainDefCheckABIStabilityFlags(virDomainDefPtr src,
strDst = virDomainDefFormat(dst, NULL, 0);
VIR_DEBUG("XMLs that failed stability check were: src=\"%s\", dst=\"%s\"",
NULLSTR(strSrc), NULLSTR(strDst));
- VIR_FREE(strSrc);
- VIR_FREE(strDst);
if (err) {
virSetError(err);
@@ -24083,7 +23713,7 @@ virDomainDiskSourceFormatNetwork(virBufferPtr attrBuf,
unsigned int flags)
{
size_t n;
- char *path = NULL;
+ VIR_AUTOFREE(char *) path = NULL;
virBufferAsprintf(attrBuf, " protocol='%s'",
virStorageNetProtocolTypeToString(src->protocol));
@@ -24095,8 +23725,6 @@ virDomainDiskSourceFormatNetwork(virBufferPtr attrBuf,
virBufferEscapeString(attrBuf, " name='%s'", path ? path : src->path);
- VIR_FREE(path);
-
if (src->haveTLS != VIR_TRISTATE_BOOL_ABSENT &&
!(flags & VIR_DOMAIN_DEF_FORMAT_MIGRATABLE &&
src->tlsFromConfig))
@@ -25685,8 +25313,10 @@ virDomainNetDefFormat(virBufferPtr buf,
virBufferEscapeString(buf, "\n",
def->model);
if (virDomainNetIsVirtioModel(def)) {
- char *str = NULL, *gueststr = NULL, *hoststr = NULL;
int rc = 0;
+ VIR_AUTOFREE(char *) str = NULL;
+ VIR_AUTOFREE(char *) gueststr = NULL;
+ VIR_AUTOFREE(char *) hoststr = NULL;
if (virDomainVirtioNetDriverFormat(&str, def) < 0 ||
virDomainVirtioNetGuestOptsFormat(&gueststr, def) < 0 ||
@@ -25709,9 +25339,6 @@ virDomainNetDefFormat(virBufferPtr buf,
virBufferAdjustIndent(buf, -2);
virBufferAddLit(buf, "\n");
}
- VIR_FREE(str);
- VIR_FREE(hoststr);
- VIR_FREE(gueststr);
if (rc < 0)
return -1;
@@ -25931,19 +25558,19 @@ virDomainChrTargetDefFormat(virBufferPtr buf,
switch (def->targetType) {
case VIR_DOMAIN_CHR_CHANNEL_TARGET_TYPE_GUESTFWD: {
int port = virSocketAddrGetPort(def->target.addr);
+ VIR_AUTOFREE(char *) addr = NULL;
if (port < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Unable to format guestfwd port"));
return -1;
}
- char *addr = virSocketAddrFormat(def->target.addr);
+ addr = virSocketAddrFormat(def->target.addr);
if (addr == NULL)
return -1;
virBufferAsprintf(buf, " address='%s' port='%d'",
addr, port);
- VIR_FREE(addr);
break;
}
@@ -26531,8 +26158,8 @@ static int
virDomainMemorySourceDefFormat(virBufferPtr buf,
virDomainMemoryDefPtr def)
{
- char *bitmap = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) bitmap = NULL;
if (!def->pagesize && !def->sourceNodes && !def->nvdimmPath)
return 0;
@@ -26576,7 +26203,6 @@ virDomainMemorySourceDefFormat(virBufferPtr buf,
ret = 0;
cleanup:
- VIR_FREE(bitmap);
return ret;
}
@@ -27518,11 +27144,10 @@ virDomainHugepagesFormatBuf(virBufferPtr buf,
hugepage->size);
if (hugepage->nodemask) {
- char *nodeset = NULL;
+ VIR_AUTOFREE(char *) nodeset = NULL;
if (!(nodeset = virBitmapFormat(hugepage->nodemask)))
goto cleanup;
virBufferAsprintf(buf, " nodeset='%s'", nodeset);
- VIR_FREE(nodeset);
}
virBufferAddLit(buf, "/>\n");
@@ -27727,7 +27352,7 @@ virDomainResctrlMonDefFormatHelper(virDomainResctrlMonDefPtr domresmon,
virResctrlMonitorType tag,
virBufferPtr buf)
{
- char *vcpus = NULL;
+ VIR_AUTOFREE(char *) vcpus = NULL;
if (domresmon->tag != tag)
return 0;
@@ -27745,7 +27370,6 @@ virDomainResctrlMonDefFormatHelper(virDomainResctrlMonDefPtr domresmon,
virBufferAsprintf(buf, "vcpus='%s'/>\n", vcpus);
- VIR_FREE(vcpus);
return 0;
}
@@ -27756,9 +27380,9 @@ virDomainCachetuneDefFormat(virBufferPtr buf,
unsigned int flags)
{
virBuffer childrenBuf = VIR_BUFFER_INITIALIZER;
- char *vcpus = NULL;
size_t i = 0;
int ret = -1;
+ VIR_AUTOFREE(char *) vcpus = NULL;
virBufferSetChildIndent(&childrenBuf, buf);
if (virResctrlAllocForeachCache(resctrl->alloc,
@@ -27802,7 +27426,6 @@ virDomainCachetuneDefFormat(virBufferPtr buf,
ret = 0;
cleanup:
virBufferFreeAndReset(&childrenBuf);
- VIR_FREE(vcpus);
return ret;
}
@@ -27827,8 +27450,8 @@ virDomainMemorytuneDefFormat(virBufferPtr buf,
unsigned int flags)
{
virBuffer childrenBuf = VIR_BUFFER_INITIALIZER;
- char *vcpus = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) vcpus = NULL;
virBufferSetChildIndent(&childrenBuf, buf);
if (virResctrlAllocForeachMemory(resctrl->alloc,
@@ -27865,7 +27488,6 @@ virDomainMemorytuneDefFormat(virBufferPtr buf,
ret = 0;
cleanup:
virBufferFreeAndReset(&childrenBuf);
- VIR_FREE(vcpus);
return ret;
}
@@ -28000,8 +27622,8 @@ virDomainCpuDefFormat(virBufferPtr buf,
{
virDomainVcpuDefPtr vcpu;
size_t i;
- char *cpumask = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) cpumask = NULL;
virBufferAddLit(buf, "def->name)) == NULL)
goto cleanup;
@@ -29349,8 +28967,6 @@ virDomainDeleteConfig(const char *configDir,
ret = 0;
cleanup:
- VIR_FREE(configFile);
- VIR_FREE(autostartLink);
return ret;
}
@@ -29616,7 +29232,7 @@ virDomainDiskDefForeachPath(virDomainDiskDefPtr disk,
int ret = -1;
size_t depth = 0;
virStorageSourcePtr tmp;
- char *brokenRaw = NULL;
+ VIR_AUTOFREE(char *) brokenRaw = NULL;
if (!ignoreOpenFailure) {
if (virStorageFileChainGetBroken(disk->src, &brokenRaw) < 0)
@@ -29644,7 +29260,6 @@ virDomainDiskDefForeachPath(virDomainDiskDefPtr disk,
ret = 0;
cleanup:
- VIR_FREE(brokenRaw);
return ret;
}
@@ -29660,11 +29275,11 @@ virDomainDefCopy(virDomainDefPtr src,
void *parseOpaque,
bool migratable)
{
- char *xml;
virDomainDefPtr ret;
unsigned int format_flags = VIR_DOMAIN_DEF_FORMAT_SECURE;
unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE |
VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE;
+ VIR_AUTOFREE(char *) xml = NULL;
if (migratable)
format_flags |= VIR_DOMAIN_DEF_FORMAT_INACTIVE | VIR_DOMAIN_DEF_FORMAT_MIGRATABLE;
@@ -29675,7 +29290,6 @@ virDomainDefCopy(virDomainDefPtr src,
ret = virDomainDefParseString(xml, caps, xmlopt, parseOpaque, parse_flags);
- VIR_FREE(xml);
return ret;
}
@@ -30103,9 +29717,9 @@ virDomainDeviceDefCopy(virDomainDeviceDefPtr src,
virDomainDeviceDefPtr ret = NULL;
virBuffer buf = VIR_BUFFER_INITIALIZER;
int flags = VIR_DOMAIN_DEF_FORMAT_INACTIVE | VIR_DOMAIN_DEF_FORMAT_SECURE;
- char *xmlStr = NULL;
int rc = -1;
char *netprefix;
+ VIR_AUTOFREE(char *) xmlStr = NULL;
switch ((virDomainDeviceType) src->type) {
case VIR_DOMAIN_DEVICE_DISK:
@@ -30192,7 +29806,6 @@ virDomainDeviceDefCopy(virDomainDeviceDefPtr src,
VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE);
cleanup:
- VIR_FREE(xmlStr);
return ret;
}
@@ -30523,8 +30136,8 @@ virDomainDefGetShortName(const virDomainDef *def)
{
wchar_t wshortname[VIR_DOMAIN_SHORT_NAME_MAX + 1] = {0};
size_t len = 0;
- char *shortname = NULL;
char *ret = NULL;
+ VIR_AUTOFREE(char *) shortname = NULL;
/* No need to do the whole conversion thing when there are no multibyte
* characters. The same applies for illegal sequences as they can occur
@@ -30571,7 +30184,6 @@ virDomainDefGetShortName(const virDomainDef *def)
ignore_value(virAsprintf(&ret, "%d-%s", def->id, shortname));
cleanup:
- VIR_FREE(shortname);
return ret;
}
@@ -30850,9 +30462,9 @@ virDomainNetResolveActualType(virDomainNetDefPtr iface)
{
virConnectPtr conn = NULL;
virNetworkPtr net = NULL;
- char *xml = NULL;
virNetworkDefPtr def = NULL;
int ret = -1;
+ VIR_AUTOFREE(char *) xml = NULL;
if (iface->type != VIR_DOMAIN_NET_TYPE_NETWORK)
return iface->type;
@@ -30919,7 +30531,6 @@ virDomainNetResolveActualType(virDomainNetDefPtr iface)
cleanup:
virNetworkDefFree(def);
- VIR_FREE(xml);
virObjectUnref(conn);
virObjectUnref(net);
return ret;
@@ -31048,10 +30659,10 @@ virDomainDiskTranslateSourcePool(virDomainDiskDefPtr def)
virConnectPtr conn = NULL;
virStoragePoolPtr pool = NULL;
virStorageVolPtr vol = NULL;
- char *poolxml = NULL;
virStorageVolInfo info;
int ret = -1;
VIR_AUTOPTR(virStoragePoolDef) pooldef = NULL;
+ VIR_AUTOFREE(char *) poolxml = NULL;
if (def->src->type != VIR_STORAGE_TYPE_VOLUME)
return 0;
@@ -31209,7 +30820,6 @@ virDomainDiskTranslateSourcePool(virDomainDiskDefPtr def)
virObjectUnref(conn);
virObjectUnref(pool);
virObjectUnref(vol);
- VIR_FREE(poolxml);
return ret;
}