summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Dietz <w@wdtz.org>2017-09-14 16:32:59 -0500
committerRich Felker <dalias@aerifal.cx>2017-10-19 19:04:16 -0400
commit004dc9549b8003288e635ba5aa91e3353e1974c4 (patch)
tree8297be6882fe4bb666067284173bc0609354263c
parent2cd663fb2d576d590a08c1e40386c07b378d5ad6 (diff)
downloadmusl-004dc9549b8003288e635ba5aa91e3353e1974c4.tar.gz
posix_spawn: use larger stack to cover worst-case in execvpe
execvpe stack-allocates a buffer used to hold the full path (combination of a PATH entry and the program name) while searching through $PATH, so at least NAME_MAX+PATH_MAX is needed. The stack size can be made conditionally smaller (the current 1024 appears appropriate) should this larger size be burdensome in those situations.
-rw-r--r--src/process/posix_spawn.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/process/posix_spawn.c b/src/process/posix_spawn.c
index ea5d2998..0849c71f 100644
--- a/src/process/posix_spawn.c
+++ b/src/process/posix_spawn.c
@@ -152,7 +152,7 @@ int __posix_spawnx(pid_t *restrict res, const char *restrict path,
char *const argv[restrict], char *const envp[restrict])
{
pid_t pid;
- char stack[1024];
+ char stack[1024+PATH_MAX];
int ec=0, cs;
struct args args;