diff options
Diffstat (limited to 'results/classifier/118/network/2758')
| -rw-r--r-- | results/classifier/118/network/2758 | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/results/classifier/118/network/2758 b/results/classifier/118/network/2758 new file mode 100644 index 000000000..53a1e23ec --- /dev/null +++ b/results/classifier/118/network/2758 @@ -0,0 +1,53 @@ +network: 0.972 +kernel: 0.828 +device: 0.808 +arm: 0.789 +graphic: 0.741 +ppc: 0.632 +vnc: 0.587 +socket: 0.557 +architecture: 0.515 +semantic: 0.419 +i386: 0.408 +x86: 0.364 +performance: 0.341 +boot: 0.341 +debug: 0.330 +hypervisor: 0.304 +KVM: 0.303 +PID: 0.298 +files: 0.294 +peripherals: 0.271 +assembly: 0.271 +TCG: 0.254 +risc-v: 0.220 +register: 0.220 +VMM: 0.169 +virtual: 0.156 +user-level: 0.112 +mistranslation: 0.075 +permissions: 0.044 + +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: + |