diff --git a/src/node_device/node_device_driver.c b/src/node_device/node_device_driver.c index f597340f184401e5aec4b0a9d040b290e4ce013b..dfce17ce7157b55d43bd734065b94d4b5797b7be 100644 --- a/src/node_device/node_device_driver.c +++ b/src/node_device/node_device_driver.c @@ -284,7 +284,7 @@ nodeDeviceLookupSCSIHostByWWN(virConnectPtr conn, STREQ(cap->data.scsi_host.wwpn, wwpn)) { if (virNodeDeviceLookupSCSIHostByWWNEnsureACL(conn, obj->def) < 0) - goto out; + goto error; if ((dev = virGetNodeDevice(conn, obj->def->name))) { if (VIR_STRDUP(dev->parent, obj->def->parent) < 0) { @@ -306,6 +306,10 @@ nodeDeviceLookupSCSIHostByWWN(virConnectPtr conn, out: nodeDeviceUnlock(); return dev; + + error: + virNodeDeviceObjUnlock(obj); + goto out; }