commit f4b577eb84fd57b6e5835b3776ac2976f9302ed9
parent be72d37597189dedda08995b0808692678b49fe3
Author: Russ Cox <rsc@swtch.com>
Date: Fri, 27 Jun 2008 13:07:44 -0400
9vx: fix bad free in sysexec (thanks to Anthony Martin)
Diffstat:
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/9vx/a/sysproc.c b/src/9vx/a/sysproc.c
@@ -219,7 +219,7 @@ static char Echanged[] = "exec arguments changed underfoot";
long
sysexec(ulong *arg)
{
- char *volatile elem, *volatile file;
+ char *volatile elem, *volatile file, *ufile;
Chan *volatile tc;
/*
@@ -238,8 +238,8 @@ sysexec(ulong *arg)
nexterror();
}
- file = uvalidaddr(arg[0], 1, 0);
- file = validnamedup(file, 1);
+ ufile = uvalidaddr(arg[0], 1, 0);
+ file = validnamedup(ufile, 1);
tc = namec(file, Aopen, OEXEC, 0);
kstrdup((char**)&elem, up->genbuf);