[libvirt] [PATCH] qemu: avoid leaking uninit data from hotplug to dumpxml
Laine Stump
laine at laine.org
Fri Oct 28 14:59:56 UTC 2011
On 10/26/2011 07:42 PM, Eric Blake wrote:
> Detected by Coverity. The fix in 2c27dfa didn't catch all bad
> instances of memcpy(). Thankfully, on further analysis, all of
> the problematic uses are only triggered by old qemu that lacks
> -device.
>
> * src/qemu/qemu_hotplug.c (qemuDomainAttachPciDiskDevice)
> (qemuDomainAttachNetDevice, qemuDomainAttachHostPciDevice): Init
> all fields since monitor only populates some of them.
> ---
> src/qemu/qemu_hotplug.c | 5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
> index 037f4aa..06b21c3 100644
> --- a/src/qemu/qemu_hotplug.c
> +++ b/src/qemu/qemu_hotplug.c
> @@ -246,7 +246,7 @@ int qemuDomainAttachPciDiskDevice(struct qemud_driver *driver,
> }
> }
> } else {
> - virDomainDevicePCIAddress guestAddr;
> + virDomainDevicePCIAddress guestAddr = disk->info.addr.pci;
> ret = qemuMonitorAddPCIDisk(priv->mon,
> disk->src,
> type,
> @@ -775,6 +775,7 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
> goto try_remove;
> }
> } else {
> + guestAddr = net->info.addr.pci;
> if (qemuMonitorAddPCINetwork(priv->mon, nicstr,
> &guestAddr)< 0) {
> qemuDomainObjExitMonitorWithDriver(driver, vm);
> @@ -929,7 +930,7 @@ int qemuDomainAttachHostPciDevice(struct qemud_driver *driver,
> configfd, configfd_name);
> qemuDomainObjExitMonitorWithDriver(driver, vm);
> } else {
> - virDomainDevicePCIAddress guestAddr;
> + virDomainDevicePCIAddress guestAddr = hostdev->info.addr.pci;
>
> qemuDomainObjEnterMonitorWithDriver(driver, vm);
> ret = qemuMonitorAddPCIHostDevice(priv->mon,
ACK.
More information about the libvir-list
mailing list