Re: [libvirt] [PATCH] storage: fix unlikely memory leak in rbd backend

2013-03-22 Thread Laine Stump
On 03/18/2013 06:28 PM, Eric Blake wrote: On 03/18/2013 02:07 PM, Laine Stump wrote: virStorageBackendRBDRefreshPool() first allocates an array big enough to hold 1024 names, then calls rbd_list(), which returns ERANGE if the array isn't big enough. When that happens, the VIR_ALLOC_N is called

[libvirt] [PATCH] storage: fix unlikely memory leak in rbd backend

2013-03-18 Thread Laine Stump
virStorageBackendRBDRefreshPool() first allocates an array big enough to hold 1024 names, then calls rbd_list(), which returns ERANGE if the array isn't big enough. When that happens, the VIR_ALLOC_N is called again with a larger size. Unfortunately, the original array isn't freed before

Re: [libvirt] [PATCH] storage: fix unlikely memory leak in rbd backend

2013-03-18 Thread Eric Blake
On 03/18/2013 02:07 PM, Laine Stump wrote: virStorageBackendRBDRefreshPool() first allocates an array big enough to hold 1024 names, then calls rbd_list(), which returns ERANGE if the array isn't big enough. When that happens, the VIR_ALLOC_N is called again with a larger size. Unfortunately,

Re: [libvirt] [PATCH] storage: fix unlikely memory leak in rbd backend

2013-03-18 Thread John Ferlan
On 03/18/2013 04:07 PM, Laine Stump wrote: virStorageBackendRBDRefreshPool() first allocates an array big enough to hold 1024 names, then calls rbd_list(), which returns ERANGE if the array isn't big enough. When that happens, the VIR_ALLOC_N is called again with a larger size. Unfortunately,