From c50e7c1029dd41fc30b539e82a7ae0d65c1f00f6 Mon Sep 17 00:00:00 2001 From: Balazs Gerofi Date: Thu, 7 Jun 2018 07:11:13 +0900 Subject: [PATCH] prepare_process_ranges_args_envs(): fix saving cmdline --- kernel/host.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/kernel/host.c b/kernel/host.c index 4c0aa0b2..e68776c4 100644 --- a/kernel/host.c +++ b/kernel/host.c @@ -362,10 +362,13 @@ int prepare_process_ranges_args_envs(struct thread *thread, goto err; } - proc->saved_cmdline_len = p->args_len - ((argc + 1) * sizeof(char **)); + proc->saved_cmdline_len = p->args_len - ((argc + 2) * sizeof(char **)); memcpy(proc->saved_cmdline, - (char *)args_envs + ((argc + 1) * sizeof(char **)), + (char *)args_envs + ((argc + 2) * sizeof(char **)), proc->saved_cmdline_len); + dkprintf("%s: saved_cmdline: %s\n", + __FUNCTION__, + proc->saved_cmdline); for (a = argv; *a; a++) { *a = (char *)addr + (unsigned long)*a; // Process' address space!