mirror of
https://github.com/qemu/qemu.git
synced 2025-08-10 12:46:22 +00:00
block/parallels: replace magic constants 4, 64 with proper sizeofs
simple purification.. Signed-off-by: Denis V. Lunev <den@openvz.org> Reviewed-by: Roman Kagan <rkagan@parallels.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Roman Kagan <rkagan@parallels.com> Message-id: 1430207220-24458-8-git-send-email-den@openvz.org CC: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
481fb9cf18
commit
912f31281a
@ -32,7 +32,6 @@
|
|||||||
#define HEADER_MAGIC "WithoutFreeSpace"
|
#define HEADER_MAGIC "WithoutFreeSpace"
|
||||||
#define HEADER_MAGIC2 "WithouFreSpacExt"
|
#define HEADER_MAGIC2 "WithouFreSpacExt"
|
||||||
#define HEADER_VERSION 2
|
#define HEADER_VERSION 2
|
||||||
#define HEADER_SIZE 64
|
|
||||||
|
|
||||||
// always little-endian
|
// always little-endian
|
||||||
typedef struct ParallelsHeader {
|
typedef struct ParallelsHeader {
|
||||||
@ -67,7 +66,7 @@ static int parallels_probe(const uint8_t *buf, int buf_size, const char *filenam
|
|||||||
{
|
{
|
||||||
const ParallelsHeader *ph = (const void *)buf;
|
const ParallelsHeader *ph = (const void *)buf;
|
||||||
|
|
||||||
if (buf_size < HEADER_SIZE)
|
if (buf_size < sizeof(ParallelsHeader))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if ((!memcmp(ph->magic, HEADER_MAGIC, 16) ||
|
if ((!memcmp(ph->magic, HEADER_MAGIC, 16) ||
|
||||||
@ -120,7 +119,7 @@ static int parallels_open(BlockDriverState *bs, QDict *options, int flags,
|
|||||||
}
|
}
|
||||||
|
|
||||||
s->catalog_size = le32_to_cpu(ph.catalog_entries);
|
s->catalog_size = le32_to_cpu(ph.catalog_entries);
|
||||||
if (s->catalog_size > INT_MAX / 4) {
|
if (s->catalog_size > INT_MAX / sizeof(uint32_t)) {
|
||||||
error_setg(errp, "Catalog too large");
|
error_setg(errp, "Catalog too large");
|
||||||
ret = -EFBIG;
|
ret = -EFBIG;
|
||||||
goto fail;
|
goto fail;
|
||||||
@ -131,7 +130,8 @@ static int parallels_open(BlockDriverState *bs, QDict *options, int flags,
|
|||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = bdrv_pread(bs->file, 64, s->catalog_bitmap, s->catalog_size * 4);
|
ret = bdrv_pread(bs->file, sizeof(ParallelsHeader),
|
||||||
|
s->catalog_bitmap, s->catalog_size * sizeof(uint32_t));
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user