mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
(execvp): Correct copying of file name.
This commit is contained in:
parent
a41301f038
commit
69c0500a4f
@ -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 = '/';
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user