[ 0:00] | load /home/xrockai/src/divine/nightly/test/lang-c/global-memset-overflow.c global-memset-overflow.c [ 0:00] | expect --result error --location global-memset-overflow.c:5 [ 0:00] | expect --trace FAULT: --trace-count 1 [ 0:00] | cc -o testcase.bc global-memset-overflow.c [ 0:00] | verify --max-memory 4GiB --max-time 600 --threads 2 --report-filename verify.out --leakcheck exit testcase.bc [ 0:00] compiling global-memset-overflow.c [ 0:00] global-memset-overflow.c:5:5: warning: implicitly declaring library function 'memset' with type 'void *(void *, int, unsigned long)' [ 0:00] memset( array, 1, 3 * sizeof( int ) ); /* ERROR */ [ 0:00] ^ [ 0:00] global-memset-overflow.c:5:5: note: include the header or explicitly provide a declaration for 'memset' [ 0:00] 1 warning generated. [ 0:00] loading bitcode … DiOS … LART … RR … constants … done [ 0:03] booting … done [ 0:03] states per second: 64.5161 [ 0:04] state count: 2 [ 0:04] mips: 0.22 [ 0:04] [ 0:04] error found: yes [ 0:04] error trace: | [ 0:04] FAULT: access of size 1 at [global* 1 8 ddp] is 1 bytes out of bounds [ 0:04] [0] FATAL: memory error in userspace [ 0:04] [ 0:04] active stack: [ 0:04] - symbol: void __dios::FaultBase::handler<__dios::Context>(_VM_Fault, _VM_Frame*, void (*)()) [ 0:04] location: /dios/sys/fault.hpp:118 [ 0:04] - symbol: memset [ 0:04] location: /dios/libc/string/memset.c:19 [ 0:04] - symbol: main [ 0:04] location: global-memset-overflow.c:5 [ 0:04] - symbol: __dios_start [ 0:04] location: /dios/libc/sys/start.cpp:94 [ 0:04] + divine sim --batch --skip-init --load-report verify.out [ 0:04] [ 0:07] ^ —————. —.— . . —.— . . .————— . . [ 0:07] ——— | | | | | | |\ | | | | [ 0:07] —(o)— | | | | | | | \ | |———— '————| [ 0:07] ——————— | | | \ / | | \| | | [ 0:07] ————————— —————' —'— ' —'— ' ' '————— ' [ 0:07] [ 0:07] Welcome to 'divine sim', an interactive debugger. Type 'help' to get started. [ 0:07] traced states: [ 0:08] ▶ state #1 [new] -- active threads: [0:0] -- [ 0:08] T: FAULT: access of size 1 at [global* 1 8 ddp] is 1 bytes out of bounds [ 0:08] # executing void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 0:08] # NOTE: $frame in memset [ 0:08] > backtrace [ 0:08] void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 0:08] memset at /dios/libc/string/memset.c:19 [ 0:08] main at global-memset-overflow.c:5 [ 0:08] __dios_start at /dios/libc/sys/start.cpp:94 [ 0:08] # executing void __dios::FaultBase::handler<{Context}>(_VM_Fault, _VM_Frame*, void (*)()) at /dios/sys/fault.hpp:118 [ 0:08] # NOTE: $frame in memset