From: Max Reitz <mre...@redhat.com> We refuse to open images whose L1 table we deem "too big". Consequently, we should not produce such images ourselves.
Cc: qemu-sta...@nongnu.org Signed-off-by: Max Reitz <mre...@redhat.com> Message-id: 20160615153630.2116-3-mre...@redhat.com Reviewed-by: Eric Blake <ebl...@redhat.com> [mreitz: Added QEMU_BUILD_BUG_ON()] Signed-off-by: Max Reitz <mre...@redhat.com> (cherry picked from commit 84c26520d3c1c9ff4a10455748139463278816d5) Signed-off-by: Michael Roth <mdr...@linux.vnet.ibm.com> --- block/qcow2-cluster.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c index 31ecc10..22bdb47 100644 --- a/block/qcow2-cluster.c +++ b/block/qcow2-cluster.c @@ -64,7 +64,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; } -- 1.9.1