Module Name: src Committed By: christos Date: Wed Jan 25 17:57:14 UTC 2017
Modified Files: src/sys/kern: kern_exec.c Log Message: es_arglen is already in bytes... To generate a diff of this commit: cvs rdiff -u -r1.440 -r1.441 src/sys/kern/kern_exec.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/kern_exec.c diff -u src/sys/kern/kern_exec.c:1.440 src/sys/kern/kern_exec.c:1.441 --- src/sys/kern/kern_exec.c:1.440 Sun Jan 8 19:31:30 2017 +++ src/sys/kern/kern_exec.c Wed Jan 25 12:57:14 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_exec.c,v 1.440 2017/01/09 00:31:30 kamil Exp $ */ +/* $NetBSD: kern_exec.c,v 1.441 2017/01/25 17:57:14 christos Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -59,7 +59,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_exec.c,v 1.440 2017/01/09 00:31:30 kamil Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_exec.c,v 1.441 2017/01/25 17:57:14 christos Exp $"); #include "opt_exec.h" #include "opt_execfmt.h" @@ -1411,10 +1411,11 @@ calcargs(struct execve_data * restrict d data->ed_argc + /* char *argv[] */ 1 + /* \0 */ data->ed_envc + /* char *env[] */ - 1 + /* \0 */ - epp->ep_esch->es_arglen; /* auxinfo */ + 1; /* \0 */ - return (nargenvptrs * ptrsz(epp)) + argenvstrlen; + return (nargenvptrs * ptrsz(epp)) /* pointers */ + + argenvstrlen /* strings */ + + epp->ep_esch->es_arglen; /* auxinfo */ } static size_t @@ -1665,9 +1666,8 @@ copyargs(struct lwp *l, struct exec_pack argc + /* char *argv[] */ 1 + /* \0 */ envc + /* char *env[] */ - 1 + /* \0 */ - /* XXX auxinfo multiplied by ptr size? */ - pack->ep_esch->es_arglen); /* auxinfo */ + 1) + /* \0 */ + pack->ep_esch->es_arglen; /* auxinfo */ sp = argp; if ((error = copyout(&argc, cpp++, sizeof(argc))) != 0) {