Skip to content

Commit

Permalink
qcow2: Reject too large header extensions
Browse files Browse the repository at this point in the history
Image files that make qemu-img info read several gigabytes into the
unknown header extensions list are bad. Just fail opening the image
if an extension claims to be larger than the header extension area.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
  • Loading branch information
kevmw committed Feb 29, 2012
1 parent fd29b4b commit 64ca6ae
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions block/qcow2.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,11 @@ static int qcow2_read_extensions(BlockDriverState *bs, uint64_t start_offset,
#ifdef DEBUG_EXT
printf("ext.magic = 0x%x\n", ext.magic);
#endif
if (ext.len > end_offset - offset) {
error_report("Header extension too large");
return -EINVAL;
}

switch (ext.magic) {
case QCOW2_EXT_MAGIC_END:
return 0;
Expand Down

0 comments on commit 64ca6ae

Please sign in to comment.