diff options
author | Markus Armbruster <armbru@redhat.com> | 2013-01-16 18:15:08 +0100 |
---|---|---|
committer | Michael Roth <mdroth@linux.vnet.ibm.com> | 2013-01-28 13:46:18 -0600 |
commit | 6f6867493cc00974de594a509cee5a3be61c64aa (patch) | |
tree | 8bebccd22d7c43bc3b1f3b4c94166274808901fc | |
parent | 6034fe7bdb555c43022706e228cde8d52a8b341a (diff) | |
download | qemu-6f6867493cc00974de594a509cee5a3be61c64aa.zip qemu-6f6867493cc00974de594a509cee5a3be61c64aa.tar.gz qemu-6f6867493cc00974de594a509cee5a3be61c64aa.tar.bz2 |
qemu-ga: Plug memory leak in guest_fsfreeze_cleanup()
Neglects to free errors allocated by qmp_guest_fsfreeze_thaw().
Spotted by Coverity.
While there, drop the test whether return value is negative (it's
never true), and improve logging.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r-- | qga/commands-posix.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/qga/commands-posix.c b/qga/commands-posix.c index 0ad73f3..498f5ca 100644 --- a/qga/commands-posix.c +++ b/qga/commands-posix.c @@ -611,13 +611,14 @@ int64_t qmp_guest_fsfreeze_thaw(Error **err) static void guest_fsfreeze_cleanup(void) { - int64_t ret; Error *err = NULL; if (ga_is_frozen(ga_state) == GUEST_FSFREEZE_STATUS_FROZEN) { - ret = qmp_guest_fsfreeze_thaw(&err); - if (ret < 0 || err) { - slog("failed to clean up frozen filesystems"); + qmp_guest_fsfreeze_thaw(&err); + if (err) { + slog("failed to clean up frozen filesystems: %s", + error_get_pretty(err)); + error_free(err); } } } |