]> Git Repo - qemu.git/commitdiff
qcow2: Fix grow_refcount_table error handling
authorKevin Wolf <[email protected]>
Thu, 15 Oct 2009 15:31:01 +0000 (17:31 +0200)
committerAnthony Liguori <[email protected]>
Tue, 27 Oct 2009 17:28:35 +0000 (12:28 -0500)
In case of failure, we haven't increased the refcount for the newly allocated
cluster yet. Therefore we must not free the cluster or its refcount will become
negative (and endless recursion is possible).

Signed-off-by: Kevin Wolf <[email protected]>
Signed-off-by: Anthony Liguori <[email protected]>
block/qcow2-refcount.c

index 609eee1891beefcb1f95b7059a8e371d77c7998f..30266786dfafffa08f8481744b419e87e2298ede 100644 (file)
@@ -182,7 +182,6 @@ static int grow_refcount_table(BlockDriverState *bs, int min_size)
     qcow2_free_clusters(bs, old_table_offset, old_table_size * sizeof(uint64_t));
     return 0;
  fail:
-    qcow2_free_clusters(bs, table_offset, new_table_size2);
     qemu_free(new_table);
     return -EIO;
 }
This page took 0.027792 seconds and 4 git commands to generate.