blob: e34b35d7fd53e8a74934c81af90fe5b85bff2cc6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
QEMU crash after a QuickBASIC program integer overflow
A trivial program compiler with QuickBASIC 4.5 with integer overflow will crash QEMU when ran under MS-DOS 5.0 or FreeDOS 1.2:
C:\KILLER>type killer.bas
A% = VAL("99999"):PRINT A%
C:\KILLER>killer.exe
**
ERROR:../qemu-5.2.0/accel/tcg/tcg-cpus.c:541:tcg_handle_interrupt: assertion failed: (qemu_mutex_iothread_locked())
Aborted
QEMU version v5.2, compiler for ARM, and started with command line:
qemu-system-i386 -curses -cpu 486 -m 1 -drive dos.img
The same test under Ubuntu QEMU and KVM/x86_64 (QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.14)) will just silently hang the QEMU. On DOSBOX, the machine does not die and program outputs the value -31073.
The EXE to reproduce the issue is attached.
|