#define GOOS_linux 1 #define SYZ_SANDBOX_ANDROID_UNTRUSTED_APP 1 #define SYZ_USE_TMP_DIR 1 #define fail(...) \ do { \ dprintf(2, __VA_ARGS__); \ dprintf(2, "\n"); \ perror("errno"); \ exit(1); \ } while (0) #define error(...) \ do { \ dprintf(2, __VA_ARGS__); \ } while (0) #define debug(...) \ do { \ dprintf(2, __VA_ARGS__); \ } while (0) #include #include void doexit(int status) { exit(status); } static void loop() { exit(system("id")); } static void use_temporary_dir(void) { #if SYZ_SANDBOX_ANDROID_UNTRUSTED_APP char tmpdir_template[] = "/data/data/syzkaller/syzkaller.XXXXXX"; #else char tmpdir_template[] = "./syzkaller.XXXXXX"; #endif char* tmpdir = mkdtemp(tmpdir_template); if (!tmpdir) fail("failed to mkdtemp"); if (chmod(tmpdir, 0777)) fail("failed to chmod"); if (chdir(tmpdir)) fail("failed to chdir"); } #include "executor/common_linux.h" int main() { use_temporary_dir(); do_sandbox_android_untrusted_app(); }