From: Nikolay Shirokovskiy Date: Wed, 20 Apr 2016 14:05:39 +0000 (+0300) Subject: vz: fix minor type safey issues with net union usage X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=3a82c04c09f53bb9b763396df3a0b60d523e1114;p=libvirt.git vz: fix minor type safey issues with net union usage Fix net->data usage accordingly to type field. Signed-off-by: Nikolay Shirokovskiy --- diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c index 71c14315f7..e49eb54a41 100644 --- a/src/vz/vz_sdk.c +++ b/src/vz/vz_sdk.c @@ -886,9 +886,6 @@ prlsdkGetNetInfo(PRL_HANDLE netAdapter, virDomainNetDefPtr net, bool isCt) PRL_BOOL isConnected; int ret = -1; - net->type = VIR_DOMAIN_NET_TYPE_NETWORK; - - /* use device name, shown by prlctl as target device * for identifying network adapter in virDomainDefineXML */ if (!(net->ifname = prlsdkGetStringParamVar(PrlVmDevNet_GetHostInterfaceName, @@ -929,7 +926,9 @@ prlsdkGetNetInfo(PRL_HANDLE netAdapter, virDomainNetDefPtr net, bool isCt) PARALLELS_DOMAIN_ROUTED_NETWORK_NAME) < 0) goto cleanup; } else { - if (!(net->data.network.name = + char *netid = NULL; + + if (!(netid = prlsdkGetStringParamVar(PrlVmDevNet_GetVirtualNetworkId, netAdapter))) goto cleanup; @@ -940,8 +939,13 @@ prlsdkGetNetInfo(PRL_HANDLE netAdapter, virDomainNetDefPtr net, bool isCt) * predefined ones such as PARALLELS_DOMAIN_BRIDGED_NETWORK_NAME * and PARALLELS_DONAIN_ROUTED_NETWORK_NAME */ - if (STRNEQ(net->data.network.name, PARALLELS_DOMAIN_BRIDGED_NETWORK_NAME)) + if (STRNEQ(netid, PARALLELS_DOMAIN_BRIDGED_NETWORK_NAME)) { net->type = VIR_DOMAIN_NET_TYPE_BRIDGE; + net->data.network.name = netid; + } else { + net->type = VIR_DOMAIN_NET_TYPE_NETWORK; + net->data.bridge.brname = netid; + } } @@ -3148,7 +3152,7 @@ static int prlsdkConfigureNet(vzDriverPtr driver, pret = PrlVirtNet_Create(&vnet); prlsdkCheckRetGoto(pret, cleanup); - pret = PrlVirtNet_SetNetworkId(vnet, net->data.network.name); + pret = PrlVirtNet_SetNetworkId(vnet, net->data.bridge.brname); prlsdkCheckRetGoto(pret, cleanup); pret = PrlVirtNet_SetNetworkType(vnet, PVN_BRIDGED_ETHERNET); @@ -3163,7 +3167,7 @@ static int prlsdkConfigureNet(vzDriverPtr driver, pret = PrlVmDev_SetEmulatedType(sdknet, PNA_BRIDGED_ETHERNET); prlsdkCheckRetGoto(pret, cleanup); - pret = PrlVmDevNet_SetVirtualNetworkId(sdknet, net->data.network.name); + pret = PrlVmDevNet_SetVirtualNetworkId(sdknet, net->data.bridge.brname); prlsdkCheckRetGoto(pret, cleanup); }