// https://syzkaller.appspot.com/bug?id=1a58df118febd9abac1a667867e946e23ee33c5a // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #define __syscall syscall #ifndef SYS_connect #define SYS_connect 98 #endif #ifndef SYS_mmap #define SYS_mmap 197 #endif #ifndef SYS_setsockopt #define SYS_setsockopt 105 #endif #ifndef SYS_socket #define SYS_socket 97 #endif uint64_t r[1] = {0xffffffffffffffff}; int main(void) { syscall(SYS_mmap, 0x20000000, 0x1000000, 3, 0x1012, -1, 0, 0); long res = 0; res = syscall(SYS_socket, 2, 3, 0); if (res != -1) r[0] = res; *(uint16_t*)0x20000000 = 0x282; memcpy((void*)0x20000002, "./file0", 8); syscall(SYS_connect, r[0], 0x20000000, 0x10); *(uint16_t*)0x20000040 = 0; *(uint8_t*)0x20000042 = 0; *(uint32_t*)0x20000044 = 0; syscall(SYS_connect, r[0], 0x20000040, 8); syscall(SYS_setsockopt, r[0], 0, 1, 0, 0); return 0; }