[libvirt] [PATCH] Fix use of uninitialized memory when releasing PCI slots

Eric Blake eblake at redhat.com
Thu Jun 30 14:17:26 UTC 2011


On 06/30/2011 08:09 AM, Daniel P. Berrange wrote:
> The 'function' field in the PCI address was not correctly
> initialized, so it was building the wrong address address
> string and so not removing all functions from the in use
> list.
> 
> * src/qemu/qemu_command.c: Fix initialization of PCI function
> ---
>  src/qemu/qemu_command.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 

> +    unsigned int *function = &dev.addr.pci.function;
>  
>      dev.addr.pci.domain = 0;
>      dev.addr.pci.bus = 0;
>      dev.addr.pci.slot = slot;
>  
> -    for (function = 0; function <= QEMU_PCI_ADDRESS_LAST_FUNCTION; function++) {
> +    for (*function = 0; *function <= QEMU_PCI_ADDRESS_LAST_FUNCTION; (*function)++) {
>          addr = qemuPCIAddressAsString(&dev);
>          if (!addr)
>              return -1;
> @@ -950,7 +950,7 @@ int qemuDomainPCIAddressReleaseSlot(qemuDomainPCIAddressSetPtr addrs, int slot)
>  
>          VIR_FREE(addr);
>  
> -        if (qemuDomainPCIAddressReleaseFunction(addrs, slot, function) < 0)
> +        if (qemuDomainPCIAddressReleaseFunction(addrs, slot, *function) < 0)

ACK.

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20110630/ecfda4c5/attachment-0001.sig>


More information about the libvir-list mailing list