From: Max Reitz Date: Wed, 15 Jun 2016 15:36:30 +0000 (+0200) Subject: qcow2: Avoid making the L1 table too big X-Git-Tag: v2.7.0-rc0~32^2^2~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=84c26520d3c1c9ff4a10455748139463278816d5;p=thirdparty%2Fqemu.git qcow2: Avoid making the L1 table too big We refuse to open images whose L1 table we deem "too big". Consequently, we should not produce such images ourselves. Cc: qemu-stable@nongnu.org Signed-off-by: Max Reitz Message-id: 20160615153630.2116-3-mreitz@redhat.com Reviewed-by: Eric Blake [mreitz: Added QEMU_BUILD_BUG_ON()] Signed-off-by: Max Reitz --- diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c index 6b92ce9429b..00c16dcba56 100644 --- a/block/qcow2-cluster.c +++ b/block/qcow2-cluster.c @@ -65,7 +65,8 @@ int qcow2_grow_l1_table(BlockDriverState *bs, uint64_t min_size, } } - if (new_l1_size > INT_MAX / sizeof(uint64_t)) { + QEMU_BUILD_BUG_ON(QCOW_MAX_L1_SIZE > INT_MAX); + if (new_l1_size > QCOW_MAX_L1_SIZE / sizeof(uint64_t)) { return -EFBIG; }