aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2014-08-26 19:17:55 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2014-08-29 10:46:57 +0100
commitcbda016d94017fad3be1c657f0ad98f88395c12a (patch)
treebe0fe149fb53fc979541e1018300a25e69b8b19e
parenta3981eb978b76e75aca3d04f6c6e26de8322001b (diff)
qemu-img: fix img_compare() flags error path
If img_compare() fails to parse the cache flags the goto out3 code path will call qemu_progress_end(). Make sure we actually call qemu_progress_init() first. Reported-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com>
-rw-r--r--qemu-img.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/qemu-img.c b/qemu-img.c
index 863798e54b..a761c36e7b 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -999,6 +999,9 @@ static int img_compare(int argc, char **argv)
filename1 = argv[optind++];
filename2 = argv[optind++];
+ /* Initialize before goto out */
+ qemu_progress_init(progress, 2.0);
+
flags = BDRV_O_FLAGS;
ret = bdrv_parse_cache_flags(cache, &flags);
if (ret < 0) {
@@ -1007,9 +1010,6 @@ static int img_compare(int argc, char **argv)
goto out3;
}
- /* Initialize before goto out */
- qemu_progress_init(progress, 2.0);
-
bs1 = bdrv_new_open("image 1", filename1, fmt1, flags, true, quiet);
if (!bs1) {
error_report("Can't open file %s", filename1);