2010/4/23 Chris Lalancette <clalance(a)redhat.com>:
While doing some testing of the snapshot code I noticed that
if qemuDomainSnapshotLoad failed, it would print a NULL as
part of the error. That's not desirable, so leave the
full_path variable around until after we are done printing
errors.
Signed-off-by: Chris Lalancette <clalance(a)redhat.com>
---
src/qemu/qemu_driver.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 2f889d9..7314328 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -1388,9 +1388,9 @@ static void qemuDomainSnapshotLoad(void *payload,
}
ret = virFileReadAll(fullpath, 1024*1024*1, &xmlStr);
- VIR_FREE(fullpath);
if (ret < 0) {
/* Nothing we can do here, skip this one */
+ VIR_FREE(fullpath);
VIR_ERROR("Failed to read snapshot file %s: %s", fullpath,
virStrerror(errno, ebuf, sizeof(ebuf)));
You still free fullpath here before using it.
continue;
@@ -1400,12 +1400,14 @@ static void qemuDomainSnapshotLoad(void *payload,
if (def == NULL) {
/* Nothing we can do here, skip this one */
VIR_ERROR("Failed to parse snapshot XML from file '%s'",
fullpath);
+ VIR_FREE(fullpath);
Here it's in the correct order.
Matthias