Page MenuHomeFreeBSD

D49733.id153498.diff
No OneTemporary

D49733.id153498.diff

diff --git a/lib/libc/gen/exec.c b/lib/libc/gen/exec.c
--- a/lib/libc/gen/exec.c
+++ b/lib/libc/gen/exec.c
@@ -136,7 +136,7 @@
int
execvp(const char *name, char * const *argv)
{
- return (execvpe(name, argv, environ));
+ return (__libc_execvpe(name, argv, environ));
}
static int
@@ -288,7 +288,7 @@
}
int
-execvpe(const char *name, char * const argv[], char * const envp[])
+__libc_execvpe(const char *name, char * const argv[], char * const envp[])
{
const char *path;
@@ -298,3 +298,5 @@
return (execvPe(name, path, argv, envp));
}
+
+__weak_reference(__libc_execvpe, execvpe);
diff --git a/lib/libc/gen/posix_spawn.c b/lib/libc/gen/posix_spawn.c
--- a/lib/libc/gen/posix_spawn.c
+++ b/lib/libc/gen/posix_spawn.c
@@ -261,7 +261,7 @@
}
envp = psa->envp != NULL ? psa->envp : environ;
if (psa->use_env_path)
- execvpe(psa->path, psa->argv, envp);
+ __libc_execvpe(psa->path, psa->argv, envp);
else
_execve(psa->path, psa->argv, envp);
psa->error = errno;
diff --git a/lib/libc/include/libc_private.h b/lib/libc/include/libc_private.h
--- a/lib/libc/include/libc_private.h
+++ b/lib/libc/include/libc_private.h
@@ -354,6 +354,8 @@
int __libc_system(const char *);
int __libc_tcdrain(int);
+int __libc_execvpe(const char *, char * const *, char * const *);
+
int _elf_aux_info(int aux, void *buf, int buflen);
struct dl_phdr_info;
int __elf_phdr_match_addr(struct dl_phdr_info *, void *);
diff --git a/lib/libc/include/namespace.h b/lib/libc/include/namespace.h
--- a/lib/libc/include/namespace.h
+++ b/lib/libc/include/namespace.h
@@ -62,6 +62,7 @@
#define dup _dup
#define dup2 _dup2
#define execve _execve
+#define execvpe __libc_execvpe
#define fcntl _fcntl
/*#define flock _flock */
#define flockfile _flockfile

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 30, 5:35 AM (5 h, 19 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30575618
Default Alt Text
D49733.id153498.diff (1 KB)

Event Timeline