From 69c0500a4f79de272fa1611f1f291de863e34cf6 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 23 Aug 1999 22:20:34 +0000 Subject: (execvp): Correct copying of file name. --- posix/execvp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'posix') diff --git a/posix/execvp.c b/posix/execvp.c index 27568294a5..963b769fca 100644 --- a/posix/execvp.c +++ b/posix/execvp.c @@ -79,6 +79,7 @@ execvp (file, argv) int got_eacces = 0; char *path, *p, *name; size_t len; + size_t pathlen; path = getenv ("PATH"); if (path == NULL) @@ -93,9 +94,10 @@ execvp (file, argv) } len = strlen (file) + 1; - name = __alloca (strlen (path) + len + 1); + pathlen = strlen (path); + name = __alloca (pathlen + len + 1); /* Copy the file name at the top. */ - name = (char *) memcpy (name - len, file, len); + name = (char *) memcpy (name + pathlen + 1, file, len); /* And add the slash. */ *--name = '/'; -- cgit v1.2.3