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

Eric Blake eblake at redhat.com
Thu Jan 9 15:41:11 UTC 2014


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 at 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

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


More information about the libvir-list mailing list