diff options
Diffstat (limited to 'results/classifier/105/network/2758')
| -rw-r--r-- | results/classifier/105/network/2758 | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/results/classifier/105/network/2758 b/results/classifier/105/network/2758 new file mode 100644 index 00000000..2d3bf4fc --- /dev/null +++ b/results/classifier/105/network/2758 @@ -0,0 +1,36 @@ +network: 0.972 +instruction: 0.910 +device: 0.808 +graphic: 0.741 +vnc: 0.587 +socket: 0.557 +semantic: 0.419 +boot: 0.341 +KVM: 0.303 +assembly: 0.271 +other: 0.084 +mistranslation: 0.075 + +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: + |