[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] storage: fix crash when listing volumes or undefining a pool



On 01/09/2014 08:35 AM, Martin Kletzander wrote:
> The commit cad3cf9a951d26da9d2ee0f5b52fb1a2dbb74af1 introduced a crash
> due to wrong order of parameters being passed to the function.  When
> deleting an element, the function decreased the iterator instead of
> count and if listing volumes after that (or undefining the pool, NULL
> was being dereferenced.
> 
> Signed-off-by: Martin Kletzander <mkletzan redhat com>
> ---
>  src/storage/storage_driver.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

ACK.

> 
> diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
> index aaa0f02..85fc0f2 100644
> --- a/src/storage/storage_driver.c
> +++ b/src/storage/storage_driver.c
> @@ -1566,7 +1566,7 @@ storageVolDelete(virStorageVolPtr obj,
>                       vol->name, pool->def->name);
>              virStorageVolDefFree(vol);
> 
> -            VIR_DELETE_ELEMENT(pool->volumes.objs, pool->volumes.count, i);
> +            VIR_DELETE_ELEMENT(pool->volumes.objs, i, pool->volumes.count);
>              break;
>          }
>      }
> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]