On 03.01.2017 19:27, Daniel P. Berrange wrote: > The qcow driver refuses to open images which are less than > 2 bytes in size, but will happily create such images. Add > a check in the create path to avoid this discrepancy. > > Signed-off-by: Daniel P. Berrange <berra...@redhat.com> > --- > block/qcow.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/block/qcow.c b/block/qcow.c > index 7540f43..8133fda 100644 > --- a/block/qcow.c > +++ b/block/qcow.c > @@ -799,6 +799,12 @@ static int qcow_create(const char *filename, QemuOpts > *opts, Error **errp) > /* Read out options */ > total_size = ROUND_UP(qemu_opt_get_size_del(opts, BLOCK_OPT_SIZE, 0), > BDRV_SECTOR_SIZE); > + if (total_size <= 1) { > + error_setg(errp, "Image size is too small (must be at least 2 > bytes)"); > + ret = -EINVAL; > + goto cleanup; > + } > +
Given the ROUND_UP() before, I can't see how total_size can be 1, but I can see how it can be 0. Since that is covered by this condition: Reviewed-by: Max Reitz <mre...@redhat.com> > backing_file = qemu_opt_get_del(opts, BLOCK_OPT_BACKING_FILE); > if (qemu_opt_get_bool_del(opts, BLOCK_OPT_ENCRYPT, false)) { > flags |= BLOCK_FLAG_ENCRYPT; >
signature.asc
Description: OpenPGP digital signature