[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 12/19] luks: Turn another invalid assertion into chec
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PULL 12/19] luks: Turn another invalid assertion into check |
Date: |
Mon, 26 Mar 2018 16:35:53 +0200 |
Commit e39e959e fixed an invalid assertion in the .bdrv_length
implementation, but left a similar assertion in place for
.bdrv_truncate. Instead of crashing when the user requests a too large
image size, fail gracefully.
A file size of exactly INT64_MAX caused failure before, but is actually
legal.
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
---
block/crypto.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/block/crypto.c b/block/crypto.c
index e0b8856f74..bc6c7e3795 100644
--- a/block/crypto.c
+++ b/block/crypto.c
@@ -357,7 +357,11 @@ static int block_crypto_truncate(BlockDriverState *bs,
int64_t offset,
BlockCrypto *crypto = bs->opaque;
uint64_t payload_offset =
qcrypto_block_get_payload_offset(crypto->block);
- assert(payload_offset < (INT64_MAX - offset));
+
+ if (payload_offset > INT64_MAX - offset) {
+ error_setg(errp, "The requested file size is too large");
+ return -EFBIG;
+ }
offset += payload_offset;
--
2.13.6
- [Qemu-devel] [PULL 01/19] iotests: 163 is not quick, (continued)
- [Qemu-devel] [PULL 01/19] iotests: 163 is not quick, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 06/19] include/block/block_int: Document protocol related functions, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 02/19] block/replication: Remove protocol_name field, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 04/19] block/throttle: Remove protocol-related fields, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 09/19] vdi: Fix build with CONFIG_VDI_DEBUG, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 11/19] qemu-iotests: Enable 025 for luks, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 08/19] vdi: Change 'static' create option to 'preallocation' in QMP, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 13/19] qemu-iotests: Test invalid resize on luks, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 10/19] qemu-iotests: Test vdi image creation with QMP, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 14/19] parallels: Check maximum cluster size on create, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 12/19] luks: Turn another invalid assertion into check,
Kevin Wolf <=
- [Qemu-devel] [PULL 16/19] vhdx: Require power-of-two block size on create, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 07/19] qcow2: Reset free_cluster_index when allocating a new refcount block, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 17/19] vhdx: Don't use error_setg_errno() with constant errno, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 18/19] vhdx: Check for 4 GB maximum log size on creation, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 15/19] qemu-iotests: Test parallels image creation with QMP, Kevin Wolf, 2018/03/26
- [Qemu-devel] [PULL 19/19] qemu-iotests: Test vhdx image creation with QMP, Kevin Wolf, 2018/03/26
- Re: [Qemu-devel] [PULL 00/19] Block layer patches, Peter Maydell, 2018/03/27