ammon@atuin:~$ cat crashme.c
int main() {
return free( 12 ); // memory access of arbitrary address should SIGSEV
}
ammon@atuin:~$ gcc crashme.c
ammon@atuin:~$ strace ./a.out
execve("./a.out", ["./a.out"], [/* 14 vars */]) = 0
uname({sys="Linux", node="atuin.simud.org", ...}) = 0
brk(0) = 0x804a000
access("/etc/ld.so.nohwcap", F_OK) = 0
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=32954, ...}) = 0
old_mmap(NULL, 32954, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300T\1"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1189404, ...}) = 0
old_mmap(NULL, 1195156, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40021000
old_mmap(0x4013b000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11a000) = 0x4013b000
old_mmap(0x40143000, 7316, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40143000
close(3) = 0
mprotect(0x4013b000, 20480, PROT_READ) = 0
munmap(0x40018000, 32954) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
ammon@atuin:~$ ltrace ./a.out
__libc_start_main(0x80483a4, 1, 0xbffffde4, 0x80483d0, 0x8048440 <unfinished ...>
free(0xc <unfinished ...>
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++