diff --git a/executer/user/mcexec.c b/executer/user/mcexec.c index f1870054..dc114e8f 100644 --- a/executer/user/mcexec.c +++ b/executer/user/mcexec.c @@ -3020,6 +3020,11 @@ create_tracer(unsigned long user_start, unsigned long user_end) open("/dev/null", O_WRONLY); #endif + /* Initialize list of syscall arguments for syscall_intercept */ + if (sizeof(struct syscall_struct) * 11 > PAGE_SIZE) { + fprintf(stderr, "%s: ERROR: param is too large\n", __FUNCTION__); + exit(1); + } for (i = 1; i <= 10; i++) { param = (struct syscall_struct *)uti_desc->wp + i; *(void **)param = param_top;