On 12/16/2013 09:32 AM, Peter Krempa wrote:
> The fix for the missing slash at the beginning of the volume URI prints
> to a bad variable causing a memory leak and another one if the variable
> will be fixed. Revert the commit instead as we can just add a slash to
> the "key" attribute.
> 
> The fix also caused a regression, where the path of the volume didn't
> include the actual volume name and thus was invalid.
> 
> This reverts commit 6cd60b687acd04ea1538690b7d80f2809e0e29d4.
> ---
>  src/storage/storage_backend_gluster.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/src/storage/storage_backend_gluster.c 
> b/src/storage/storage_backend_gluster.c
> index 622526b..1be9034 100644
> --- a/src/storage/storage_backend_gluster.c
> +++ b/src/storage/storage_backend_gluster.c
> @@ -227,10 +227,7 @@ 
> virStorageBackendGlusterRefreshVol(virStorageBackendGlusterStatePtr state,
>          goto cleanup;
> 
>      tmp = state->uri->path;
> -    if (virAsprintf(&vol->key, "%s%s", state->uri->path, name) < 0) {

Uggh.  I see what I did: I swapped vol->key and state->uri->path, and
didn't run my patch through valgrind (where I would have seen the problem).

> -        state->uri->path = tmp;
> -        goto cleanup;
> -    }
> +    state->uri->path = vol->key;

Rather than reverting this patch, I'd prefer to fix the string creation
to use the intended order:

diff --git i/src/storage/storage_backend_gluster.c
w/src/storage/storage_backend_gluster.c
index 622526b..aab70ba 100644
--- i/src/storage/storage_backend_gluster.c
+++ w/src/storage/storage_backend_gluster.c
@@ -227,7 +227,7 @@
virStorageBackendGlusterRefreshVol(virStorageBackendGlusterStatePtr state,
         goto cleanup;

     tmp = state->uri->path;
-    if (virAsprintf(&vol->key, "%s%s", state->uri->path, name) < 0) {
+    if (virAsprintf(&state->uri->path, "%s%s", vol->key, name) < 0) {
         state->uri->path = tmp;
         goto cleanup;
     }


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

Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to