From 8b6be17777176e25766f36cfb6466df9e04d6812 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Tue, 4 Aug 2009 20:32:25 +0000 Subject: [PATCH] When exec() fails, return 127 instead of errno; the parent process has no way to distinguish that the result is errno, so it can't use it to provide more information about the error (it also exposes the numeric value of errno). llvm-svn: 78098 --- llvm/lib/System/Unix/Program.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/llvm/lib/System/Unix/Program.inc b/llvm/lib/System/Unix/Program.inc index 3a562e45d41d..d2baca80025b 100644 --- a/llvm/lib/System/Unix/Program.inc +++ b/llvm/lib/System/Unix/Program.inc @@ -197,12 +197,12 @@ Program::Execute(const Path& path, // Execute! if (envp != 0) - execve (path.c_str(), (char**)args, (char**)envp); + execve(path.c_str(), (char**)args, (char**)envp); else - execv (path.c_str(), (char**)args); + execv(path.c_str(), (char**)args); // If the execve() failed, we should exit and let the parent pick up // our non-zero exit status. - exit (errno); + exit(127); } // Parent process: Break out of the switch to do our processing.