From ee299b578087b242c1ed9acf1deb8d59d96519d2 Mon Sep 17 00:00:00 2001 From: Masamichi Takagi Date: Sun, 2 Sep 2018 17:08:37 +0900 Subject: [PATCH] uti: Check size of syscall arguments for syscall_intercept Change-Id: I747b90e1f521b08266cfc021ef4b23e2e3c7ba4c --- executer/user/mcexec.c | 5 +++++ 1 file changed, 5 insertions(+) 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;