blob: f30e05621a898235ca562abba683a07c6f2a9ed5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
Out-of-bounds access smc91c111_readb()
Description of problem:
An out-of-bounds bug was triggered by my fuzzer.
It looks like the code doesn't have boundary checks for `data`'s access.
The error is `hw/net/smc91c111.c:605:24: runtime error: index 2048 out of bounds for type 'uint8_t[2048]' (aka 'unsigned char[2048]')`
It's likely that the line 457 also needs a check.
Steps to reproduce:
```
export QEMU_ARGS="-display none -machine accel=qtest, -m 512M -machine realview-eb"
cat << EOF | ./qemu-system-arm $QEMU_ARGS -qtest /dev/null -qtest stdio
writew 0x4e00000c 0x46084a4a
writel 0x4e00000c 0x5c022fcc
clock_step
writel 0x4e000004 0x2fffa1b1
clock_step
readl 0x4e000008
EOF
```
Additional information:
|