Re: [PATCH] storage: fix bogus target in gluster volume xml

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

 



On 12/19/13 05:38, Eric Blake wrote:
> Commit 6cd60b6 was flat out broken - it tried to print into the
> wrong variable.  My testing was obviously too cursory (did the
> name get a slash added?); valgrind would have caught the error.
> Thankfully it didn't hit any release.
> 
> Reported by Peter Krempa.
> 
> * src/storage/storage_backend_gluster.c
> (virStorageBackendGlusterRefreshVol): Fix bogus code.
> 
> Signed-off-by: Eric Blake <eblake@xxxxxxxxxx>
> ---
>  src/storage/storage_backend_gluster.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/storage/storage_backend_gluster.c b/src/storage/storage_backend_gluster.c
> index 622526b..9aa692e 100644
> --- a/src/storage/storage_backend_gluster.c
> +++ b/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", vol->key) < 0) {

Ok, but ...

>          state->uri->path = tmp;
>          goto cleanup;
>      }
> 

... you still need to free state->uri->path before you overwrite it with
the previous value that is temporarily stored in 'tmp' a few lines below:

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

ACK with the memleak resolved.

Peter

Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]