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