From: Daniel P. Berrange Date: Thu, 23 Oct 2014 13:33:11 +0000 (+0100) Subject: Update Parallels driver to always use privateData X-Git-Tag: CVE-2014-8135~208 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cfacca18fa806ed21970ebacfb525250d72b0976;p=thirdparty%2Flibvirt.git Update Parallels driver to always use privateData Since the secondary drivers are only active when the primary driver is also the Parallels driver, there is no need to use the different type specific privateData fields. The object that was being stored in the storagePrivateData can easily be kept in the parallelsConn struct instead. --- diff --git a/src/parallels/parallels_network.c b/src/parallels/parallels_network.c index f41c97f89c..90217df774 100644 --- a/src/parallels/parallels_network.c +++ b/src/parallels/parallels_network.c @@ -328,8 +328,6 @@ parallelsNetworkOpen(virConnectPtr conn, if (STRNEQ(conn->driver->name, "Parallels")) return VIR_DRV_OPEN_DECLINED; - conn->networkPrivateData = conn->privateData; - if (parallelsLoadNetworks(conn->privateData) < 0) return VIR_DRV_OPEN_DECLINED; diff --git a/src/parallels/parallels_storage.c b/src/parallels/parallels_storage.c index 53bcfcb32b..e1b6ea89ee 100644 --- a/src/parallels/parallels_storage.c +++ b/src/parallels/parallels_storage.c @@ -72,8 +72,8 @@ parallelsStorageClose(virConnectPtr conn) { parallelsConnPtr privconn = conn->privateData; - virStorageDriverStatePtr storageState = conn->storagePrivateData; - conn->storagePrivateData = NULL; + virStorageDriverStatePtr storageState = conn->privateData->storageState; + conn->privateData->storageState = NULL; parallelsStorageLock(storageState); virStoragePoolObjListFree(&privconn->pools); @@ -189,7 +189,7 @@ parallelsPoolCreateByPath(virConnectPtr conn, const char *path) if (!(pool = virStoragePoolObjAssignDef(pools, def))) goto error; - if (virStoragePoolObjSaveDef(conn->storagePrivateData, pool, def) < 0) { + if (virStoragePoolObjSaveDef(conn->privateData->storageState, pool, def) < 0) { virStoragePoolObjRemove(pools, pool); goto error; } @@ -404,7 +404,7 @@ parallelsPoolsAdd(virDomainObjPtr dom, static int parallelsLoadPools(virConnectPtr conn) { parallelsConnPtr privconn = conn->privateData; - virStorageDriverStatePtr storageState = conn->storagePrivateData; + virStorageDriverStatePtr storageState = conn->privateData->storageState; char *base = NULL; size_t i; @@ -475,7 +475,7 @@ parallelsStorageOpen(virConnectPtr conn, return VIR_DRV_OPEN_ERROR; } - conn->storagePrivateData = storageState; + conn->privateData->storageState = storageState; parallelsStorageLock(storageState); if (parallelsLoadPools(conn)) @@ -728,7 +728,7 @@ parallelsStoragePoolDefineXML(virConnectPtr conn, if (!(pool = virStoragePoolObjAssignDef(&privconn->pools, def))) goto cleanup; - if (virStoragePoolObjSaveDef(conn->storagePrivateData, pool, def) < 0) { + if (virStoragePoolObjSaveDef(conn->privateData->storageState, pool, def) < 0) { virStoragePoolObjRemove(&privconn->pools, pool); def = NULL; goto cleanup; diff --git a/src/parallels/parallels_utils.h b/src/parallels/parallels_utils.h index aef590ff12..0d770c5f7f 100644 --- a/src/parallels/parallels_utils.h +++ b/src/parallels/parallels_utils.h @@ -49,6 +49,7 @@ struct _parallelsConn { virCapsPtr caps; virDomainXMLOptionPtr xmlopt; virObjectEventStatePtr domainEventState; + virStorageDriverStatePtr storageState; }; typedef struct _parallelsConn parallelsConn;