diff options
author | kib <kib@FreeBSD.org> | 2012-02-25 01:33:39 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2012-02-25 01:33:39 +0000 |
commit | 1754fd0691ea56d59cc2527d2867e5b0f681e569 (patch) | |
tree | a469e89d04f0ad36973224205f219b774b9de574 /sys | |
parent | ec0f329a370e4b072eee27c715b3648abce48158 (diff) | |
download | FreeBSD-src-1754fd0691ea56d59cc2527d2867e5b0f681e569.zip FreeBSD-src-1754fd0691ea56d59cc2527d2867e5b0f681e569.tar.gz |
Do not write to the user address directly, use suword().
Reported by: Bengt Ahlgren <bengta sics se>
MFC after: 1 week
Diffstat (limited to 'sys')
-rw-r--r-- | sys/i386/linux/linux_sysvec.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index 7634138..d4e23e1 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -227,11 +227,11 @@ linux_fixup(register_t **stack_base, struct image_params *imgp) argv = *stack_base; envp = *stack_base + (imgp->args->argc + 1); (*stack_base)--; - **stack_base = (intptr_t)(void *)envp; + suword(*stack_base, (intptr_t)(void *)envp); (*stack_base)--; - **stack_base = (intptr_t)(void *)argv; + suword(*stack_base, (intptr_t)(void *)argv); (*stack_base)--; - **stack_base = imgp->args->argc; + suword(*stack_base, imgp->args->argc); return (0); } @@ -286,7 +286,7 @@ elf_linux_fixup(register_t **stack_base, struct image_params *imgp) imgp->auxargs = NULL; (*stack_base)--; - **stack_base = (register_t)imgp->args->argc; + suword(*stack_base, (register_t)imgp->args->argc); return (0); } |