[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH] macio: fix overflow in lba to offset conversion for A
From: |
Mark Cave-Ayland |
Subject: |
[Qemu-ppc] [PATCH] macio: fix overflow in lba to offset conversion for ATAPI devices |
Date: |
Mon, 4 Jan 2016 17:30:13 +0000 |
As the IDEState lba field is an int32_t, make sure we cast to int64_t before
shifting to calculate the offset. Otherwise we end up with an overflow when
trying to access sectors beyond 2GB as can occur when using DVD images.
Signed-off-by: Mark Cave-Ayland <address@hidden>
---
hw/ide/macio.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/ide/macio.c b/hw/ide/macio.c
index 3ee962f..a78b6e0 100644
--- a/hw/ide/macio.c
+++ b/hw/ide/macio.c
@@ -280,7 +280,7 @@ static void pmac_ide_atapi_transfer_cb(void *opaque, int
ret)
}
/* Calculate current offset */
- offset = (int64_t)(s->lba << 11) + s->io_buffer_index;
+ offset = ((int64_t)(s->lba) << 11) + s->io_buffer_index;
pmac_dma_read(s->blk, offset, io->len, pmac_ide_atapi_transfer_cb, io);
return;
--
1.7.10.4
- [Qemu-ppc] [PATCH] macio: fix overflow in lba to offset conversion for ATAPI devices,
Mark Cave-Ayland <=
Re: [Qemu-ppc] [Qemu-devel] [PATCH] macio: fix overflow in lba to offset conversion for ATAPI devices, John Snow, 2016/01/05