mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-02 09:55:18 +00:00
qemu: Add extra checks for secret destroy API's
Remove the possibility that a NULL hostdev->privateData or a disk->privateData could crash libvirtd by checking for NULL before dereferencing for the secinfo structure in the qemuDomainSecret{Disk|Hostdev}Destroy functions. The hostdevPriv could be NULL if qemuProcessNetworkPrepareDevices adds a new hostdev during virDomainNetGetActualHostdev that then gets inserted via virDomainHostdevInsert. The hostdevPriv was added by commit id '27726d8' and is currently only used by scsi hostdev.
This commit is contained in:
parent
f21017ab7e
commit
fc5c1e7fe9
@ -903,7 +903,7 @@ qemuDomainSecretDiskDestroy(virDomainDiskDefPtr disk)
|
||||
{
|
||||
qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
|
||||
|
||||
if (!diskPriv->secinfo)
|
||||
if (!diskPriv || !diskPriv->secinfo)
|
||||
return;
|
||||
|
||||
qemuDomainSecretInfoFree(&diskPriv->secinfo);
|
||||
@ -964,7 +964,7 @@ qemuDomainSecretHostdevDestroy(virDomainHostdevDefPtr hostdev)
|
||||
qemuDomainHostdevPrivatePtr hostdevPriv =
|
||||
QEMU_DOMAIN_HOSTDEV_PRIVATE(hostdev);
|
||||
|
||||
if (!hostdevPriv->secinfo)
|
||||
if (!hostdevPriv || !hostdevPriv->secinfo)
|
||||
return;
|
||||
|
||||
qemuDomainSecretInfoFree(&hostdevPriv->secinfo);
|
||||
|
Loading…
x
Reference in New Issue
Block a user