diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index e412f28ddd..cef4cf948f 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -10002,14 +10002,14 @@ void virDomainNetRemoveHostdev(virDomainDefPtr def, virDomainNetDefPtr net) { - if (net->type == VIR_DOMAIN_NET_TYPE_HOSTDEV) { - /* hostdev net devices are normally also be in the hostdevs - * array, but might have already been removed by the time we - * get here. - */ - virDomainHostdevDefPtr hostdev = &net->data.hostdev.def; - size_t i; + /* hostdev net devices are normally also be in the hostdevs + * array, but might have already been removed by the time we + * get here. + */ + virDomainHostdevDefPtr hostdev = virDomainNetGetActualHostdev(net); + size_t i; + if (hostdev) { for (i = 0; i < def->nhostdevs; i++) { if (def->hostdevs[i] == hostdev) { virDomainHostdevRemove(def, i);