[libvirt] [PATCH 1/9] qemuDomainDetachDeviceConfig: make idx type of ssize_t

Laine Stump laine at laine.org
Fri Jun 10 12:02:55 UTC 2016


On 06/09/2016 11:02 AM, Michal Privoznik wrote:
> The variable is used to hold the index to the device array we are
> trying to remove. All the functions that set it are expecting it
> to be type of ssize_t instead of int.
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
>   src/qemu/qemu_driver.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index e70d3ce..d7b65f1 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -7951,7 +7951,7 @@ qemuDomainDetachDeviceConfig(virDomainDefPtr vmdef,
>       virDomainControllerDefPtr cont, det_cont;
>       virDomainChrDefPtr chr;
>       virDomainFSDefPtr fs;
> -    int idx;
> +    ssize_t idx;

If you do this, then this code that uses idx will never detect a "not 
found" condition:

      if ((idx = virDomainNetFindIdx(vmdef, net)) < 0)
         return -1;

(there are several other similar uses in the same function)

>   
>       switch ((virDomainDeviceType) dev->type) {
>       case VIR_DOMAIN_DEVICE_DISK:





More information about the libvir-list mailing list