From 0e87ba2ccbf900cc5a56b95e0671e5a5d2c2f6a0 Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Thu, 17 Jan 2013 21:45:28 +0100 Subject: block/vdi: Check for bad signature vdi_open did not check for a bad signature. This check was only in vdi_probe. Signed-off-by: Stefan Weil Reviewed-by: Eric Blake Signed-off-by: Kevin Wolf --- block/vdi.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'block/vdi.c') diff --git a/block/vdi.c b/block/vdi.c index 8b768bfa49..257a592ea9 100644 --- a/block/vdi.c +++ b/block/vdi.c @@ -392,7 +392,11 @@ static int vdi_open(BlockDriverState *bs, int flags) header.disk_size &= ~(SECTOR_SIZE - 1); } - if (header.version != VDI_VERSION_1_1) { + if (header.signature != VDI_SIGNATURE) { + logout("bad vdi signature %08x\n", header.signature); + ret = -EMEDIUMTYPE; + goto fail; + } else if (header.version != VDI_VERSION_1_1) { logout("unsupported version %u.%u\n", header.version >> 16, header.version & 0xffff); ret = -ENOTSUP; -- cgit v1.2.1