diff --git a/src/datatypes.c b/src/datatypes.c index f0b50259f9..5ad988bd24 100644 --- a/src/datatypes.c +++ b/src/datatypes.c @@ -117,7 +117,7 @@ virReleaseConnect(virConnectPtr conn) { virResetError(&conn->err); - xmlFreeURI(conn->uri); + virURIFree(conn->uri); virMutexUnlock(&conn->lock); virMutexDestroy(&conn->lock); diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c index 69435344be..dbf95f4484 100644 --- a/src/esx/esx_driver.c +++ b/src/esx/esx_driver.c @@ -4072,7 +4072,7 @@ esxDomainMigratePerform(virDomainPtr domain, result = 0; cleanup: - xmlFreeURI(parsedUri); + virURIFree(parsedUri); esxVI_ObjectContent_Free(&virtualMachine); esxVI_Event_Free(&eventList); esxVI_ManagedObjectReference_Free(&task); diff --git a/src/libvirt.c b/src/libvirt.c index 99b263efc1..f674ecb46b 100644 --- a/src/libvirt.c +++ b/src/libvirt.c @@ -5071,10 +5071,10 @@ virDomainMigratePeer2Peer (virDomainPtr domain, if (!tempuri->server || STRPREFIX(tempuri->server, "localhost")) { virLibConnError(VIR_ERR_INVALID_ARG, __FUNCTION__); virDispatchError(domain->conn); - xmlFreeURI(tempuri); + virURIFree(tempuri); return -1; } - xmlFreeURI(tempuri); + virURIFree(tempuri); /* Perform the migration. The driver isn't supposed to return * until the migration is complete. diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 9a718b412f..dcfe5ab880 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1472,6 +1472,7 @@ virTypedParameterAssign; # viruri.h virURIFormat; +virURIFree; virURIParse; diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 12ce10c86f..e380bc08c3 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -1956,7 +1956,7 @@ static int doNativeMigrate(struct qemud_driver *driver, if (spec.destType == MIGRATION_DEST_FD) VIR_FORCE_CLOSE(spec.dest.fd.qemu); - xmlFreeURI(uribits); + virURIFree(uribits); return ret; } diff --git a/src/util/viruri.c b/src/util/viruri.c index 6c4dfe3c08..0b25679394 100644 --- a/src/util/viruri.c +++ b/src/util/viruri.c @@ -91,3 +91,15 @@ virURIFormat(xmlURIPtr uri) return ret; } + + +/** + * virURIFree: + * @uri: uri to free + * + * Frees the URI + */ +void virURIFree(virURIPtr uri) +{ + xmlFreeURI(uri); +} diff --git a/src/util/viruri.h b/src/util/viruri.h index 5215e42d4f..80369beab2 100644 --- a/src/util/viruri.h +++ b/src/util/viruri.h @@ -19,4 +19,6 @@ typedef xmlURIPtr virURIPtr; virURIPtr virURIParse(const char *uri); char *virURIFormat(virURIPtr uri); +void virURIFree(virURIPtr uri); + #endif /* __VIR_URI_H__ */ diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index cc426da665..3179688f75 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -2696,7 +2696,7 @@ virVMXParseSerial(virVMXContext *ctx, virConfPtr conf, int port, VIR_FREE(fileType); VIR_FREE(fileName); VIR_FREE(network_endPoint); - xmlFreeURI(parsedUri); + virURIFree(parsedUri); return result; diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c index a19d055125..df6b1bb31b 100644 --- a/src/xen/xend_internal.c +++ b/src/xen/xend_internal.c @@ -3234,25 +3234,25 @@ xenDaemonDomainMigratePerform (virDomainPtr domain, virXendError(VIR_ERR_INVALID_ARG, "%s", _("xenDaemonDomainMigrate: only xenmigr://" " migrations are supported by Xen")); - xmlFreeURI (uriptr); + virURIFree (uriptr); return -1; } if (!uriptr->server) { virXendError(VIR_ERR_INVALID_ARG, "%s", _("xenDaemonDomainMigrate: a hostname must be" " specified in the URI")); - xmlFreeURI (uriptr); + virURIFree (uriptr); return -1; } hostname = strdup (uriptr->server); if (!hostname) { virReportOOMError(); - xmlFreeURI (uriptr); + virURIFree (uriptr); return -1; } if (uriptr->port) snprintf (port, sizeof port, "%d", uriptr->port); - xmlFreeURI (uriptr); + virURIFree (uriptr); } else if ((p = strrchr (uri, ':')) != NULL) { /* "hostname:port" */ int port_nr, n; diff --git a/tests/viruritest.c b/tests/viruritest.c index 39cb3d240c..91da6e6ef5 100644 --- a/tests/viruritest.c +++ b/tests/viruritest.c @@ -105,7 +105,7 @@ static int testURIParse(const void *args) ret = 0; cleanup: VIR_FREE(uristr); - xmlFreeURI(uri); + virURIFree(uri); return ret; }