qemu-e2k/hw/block
Paolo Bonzini b68cb06093 m25p80: avoid out of bounds accesses
s->cur_addr can be made to point outside s->storage, either by
writing a value >= 128 to s->ear (because s->ear * MAX_3BYTES_SIZE
is a signed integer and sign-extends into the 64-bit cur_addr),
or just by writing an address beyond the size of the flash being
emulated.  Avoid the sign extension to make the code cleaner, and
on top of that mask s->cur_addr to s->size.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-id: 1467138270-32481-4-git-send-email-clg@kaod.org
Reviewed by: Marcin Krzeminski <marcin.krzeminski@nokia.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-07-04 13:15:22 +01:00
..
dataplane virtio-blk: dataplane multiqueue support 2016-06-28 13:08:32 +01:00
block.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
cdrom.c block: Clean up includes 2016-01-20 13:36:23 +01:00
ecc.c block: Clean up includes 2016-01-20 13:36:23 +01:00
fdc.c fdc: Switch to byte-based block access 2016-05-12 15:22:09 +02:00
hd-geometry.c qemu-common: stop including qemu/bswap.h from qemu-common.h 2016-05-19 16:42:28 +02:00
m25p80.c m25p80: avoid out of bounds accesses 2016-07-04 13:15:22 +01:00
Makefile.objs block: Always compile virtio-blk dataplane 2014-09-22 11:39:51 +01:00
nand.c nand: Switch to byte-based block access 2016-05-12 15:22:09 +02:00
nvme.c dma-helpers: change interface to byte-based 2016-05-25 19:04:11 +02:00
nvme.h util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
onenand.c onenand: Switch to byte-based block access 2016-05-12 15:22:09 +02:00
pflash_cfi01.c pflash: make TYPE_CFI_PFLASH0{1,2} macros public 2016-06-29 14:03:46 +02:00
pflash_cfi02.c pflash: make TYPE_CFI_PFLASH0{1,2} macros public 2016-06-29 14:03:46 +02:00
tc58128.c block: Use DIV_ROUND_UP 2016-06-07 18:19:24 +03:00
trace-events trace: split out trace events for hw/block/ directory 2016-06-20 17:22:15 +01:00
virtio-blk.c virtio-blk: add num-queues device property 2016-06-28 13:08:32 +01:00
xen_blkif.h xen: fix qdisk BLKIF_OP_DISCARD for 32/64 word size mix 2016-06-22 11:28:17 +01:00
xen_disk.c os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00