git: 9front

Download patch

ref: 9f01c74e8c68c78d7d7afddbff9aacc3a574d2b4
parent: 87ec4550f392180df2ccd3fc48b3ca91f3bcd09c
author: Ori Bernstein <ori@eigenstate.org>
date: Mon Jan 26 13:53:40 EST 2026

libauth: correctly terminate nsfile args with nil

--- a/sys/src/libauth/newns.c
+++ b/sys/src/libauth/newns.c
@@ -7,7 +7,6 @@
 
 enum
 {
-	NARG	= 15,		/* max number of arguments */
 	MAXARG	= 10*ANAMELEN,	/* max length of an argument */
 };
 
@@ -97,7 +96,7 @@
 nsfile(char *fn, Biobuf *b, AuthRpc *rpc, int dfd)
 {
 	int argc;
-	char *cmd, *argv[NARG+1], argbuf[MAXARG*NARG];
+	char *cmd, *argv[16], argbuf[MAXARG*16];
 	int cdroot;
 
 	cdroot = 0;
@@ -108,7 +107,7 @@
 			cmd++;
 		if(*cmd == '#')
 			continue;
-		argc = splitargs(cmd, argv, argbuf, NARG);
+		argc = splitargs(cmd, argv, argbuf, nelem(argv));
 		if(argc)
 			cdroot |= nsop(fn, argc, argv, rpc, dfd);
 	}
@@ -294,6 +293,7 @@
 			return 0;
 		unquote(argv[i]);
 	}
+	argv[n] = nil;
 	return n;
 }
 
--