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) {

Reply via email to