diff options
author | Kevin Wolf <kwolf@redhat.com> | 2015-12-01 15:16:49 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2015-12-02 13:22:29 +0100 |
commit | c2551b47c9b9465962c4000268eda1307f55614a (patch) | |
tree | 2eabcfded1b92b2c0f39f3d1c8cdb3230c2e0e81 /block/qcow2-refcount.c | |
parent | 9d7b969ea6d9663a94760c6c131481b366f4d38a (diff) |
qcow2: Fix potential qemu-img check crash on 32 bit hosts
This crash was caught with qemu-iotests test case 138.
Commit b6d36de already fixed a few 32 bit truncation bugs that could
cause qemu-img check to allocate too little memory and consequently
it would segfault. On 32 bit hosts, there is one more place that needs
to be fixed because size_t was involved in the calculation and is a
32 bit type there.
Cc: qemu-stable@nongnu.org
Reported-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Tested-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'block/qcow2-refcount.c')
-rw-r--r-- | block/qcow2-refcount.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c index 6e0e5bd9ae..820f412ab6 100644 --- a/block/qcow2-refcount.c +++ b/block/qcow2-refcount.c @@ -1244,7 +1244,7 @@ fail: /* refcount checking functions */ -static size_t refcount_array_byte_size(BDRVQcow2State *s, uint64_t entries) +static uint64_t refcount_array_byte_size(BDRVQcow2State *s, uint64_t entries) { /* This assertion holds because there is no way we can address more than * 2^(64 - 9) clusters at once (with cluster size 512 = 2^9, and because |