From a0f7e71d412325925a8d1c691742a836c32ba840 Mon Sep 17 00:00:00 2001 From: Giacomo Tesio Date: Fri, 11 Aug 2017 02:10:02 +0200 Subject: [PATCH] rc: do not mess up argv --- sys/src/cmd/rc/exec.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/src/cmd/rc/exec.c b/sys/src/cmd/rc/exec.c index 756f5f7..5ff4494 100644 --- a/sys/src/cmd/rc/exec.c +++ b/sys/src/cmd/rc/exec.c @@ -143,9 +143,11 @@ void main(int argc, char *argv[]) { code bootstrap[17]; - char num[12], *rcmain; + char num[12], *rcmain, **argvcopy; int i; - argc = getflags(argc, argv, "SsrdiIlxepvVc:1m:1[command]", 1); + argvcopy = mallocz(sizeof(char*)*(argc+1), 1); + memmove(argvcopy, argv, argc*sizeof(char*)); + argc = getflags(argc, argvcopy, "SsrdiIlxepvVc:1m:1[command]", 1); if(argc==-1) usage("[file [arg ...]]"); if(argv[0][0]=='-')