From: "Daniel P. Berrange" <berrange(a)redhat.com>
The udevFreeIfaceDef function in the udev interface driver
just duplicates code from virInterfaceDefFree. Delete it
and call the standard API instead.
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
src/interface/interface_backend_udev.c | 45 ++--------------------------------
1 file changed, 2 insertions(+), 43 deletions(-)
diff --git a/src/interface/interface_backend_udev.c
b/src/interface/interface_backend_udev.c
index 79c57ee..0384ef5 100644
--- a/src/interface/interface_backend_udev.c
+++ b/src/interface/interface_backend_udev.c
@@ -542,44 +542,6 @@ udevBridgeScanDirFilter(const struct dirent *entry)
return 1;
}
-/**
- * Frees any memory allocated by udevGetIfaceDef()
- *
- * @param ifacedef - interface to free and cleanup
- */
-static void
-udevFreeIfaceDef(virInterfaceDef *ifacedef)
-{
- int i;
-
- if (!ifacedef)
- return;
-
- if (ifacedef->type == VIR_INTERFACE_TYPE_BOND) {
- VIR_FREE(ifacedef->data.bond.target);
- for (i = 0; i < ifacedef->data.bond.nbItf; i++) {
- udevFreeIfaceDef(ifacedef->data.bond.itf[i]);
- }
- VIR_FREE(ifacedef->data.bond.itf);
- }
-
- if (ifacedef->type == VIR_INTERFACE_TYPE_BRIDGE) {
- VIR_FREE(ifacedef->data.bridge.delay);
- for (i = 0; i < ifacedef->data.bridge.nbItf; i++) {
- udevFreeIfaceDef(ifacedef->data.bridge.itf[i]);
- }
- VIR_FREE(ifacedef->data.bridge.itf);
- }
-
- if (ifacedef->type == VIR_INTERFACE_TYPE_VLAN) {
- VIR_FREE(ifacedef->data.vlan.devname);
- }
-
- VIR_FREE(ifacedef->mac);
- VIR_FREE(ifacedef->name);
-
- VIR_FREE(ifacedef);
-}
static int
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
@@ -1080,7 +1042,7 @@ udevGetIfaceDef(struct udev *udev, const char *name)
cleanup:
udev_device_unref(dev);
- udevFreeIfaceDef(ifacedef);
+ virInterfaceDefFree(ifacedef);
return NULL;
}
@@ -1101,15 +1063,12 @@ udevInterfaceGetXMLDesc(virInterfacePtr ifinfo,
*/
ifacedef = udevGetIfaceDef(udev, ifinfo->name);
- /* We've already printed by it happened */
if (!ifacedef)
goto err;
- /* Convert our interface to XML */
xmlstr = virInterfaceDefFormat(ifacedef);
- /* Recursively free our interface structures and free the children too */
- udevFreeIfaceDef(ifacedef);
+ virInterfaceDefFree(ifacedef);
err:
/* decrement our udev ptr */
--
1.8.1.4