diff options
| author | Ed Maste <emaste@FreeBSD.org> | 2014-02-18 19:52:51 +0000 |
|---|---|---|
| committer | Ed Maste <emaste@FreeBSD.org> | 2014-02-18 19:52:51 +0000 |
| commit | 12b93ac689798c57fc1aa4e9871eb72a66905e82 (patch) | |
| tree | 4b7112f641e225f50ba2fb8b4053a0f56c45662f /contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp | |
| parent | 7a902ec0eccc752c9c38533ed123121eaaea1225 (diff) | |
| parent | 866dcdacfe59f5f448e008fe2c4cb9dfcf72b2ec (diff) | |
Notes
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp')
| -rw-r--r-- | contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp b/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp index d5179967f379..3b260538b190 100644 --- a/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp +++ b/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp @@ -896,7 +896,8 @@ ProcessMonitor::Launch(LaunchArgs *args) eDupStdoutFailed, eDupStderrFailed, eChdirFailed, - eExecFailed + eExecFailed, + eSetGidFailed }; // Child process. @@ -907,7 +908,8 @@ ProcessMonitor::Launch(LaunchArgs *args) exit(ePtraceFailed); // Do not inherit setgid powers. - setgid(getgid()); + if (setgid(getgid()) != 0) + exit(eSetGidFailed); // Let us have our own process group. setpgid(0, 0); @@ -972,6 +974,9 @@ ProcessMonitor::Launch(LaunchArgs *args) case eExecFailed: args->m_error.SetErrorString("Child exec failed."); break; + case eSetGidFailed: + args->m_error.SetErrorString("Child setgid failed."); + break; default: args->m_error.SetErrorString("Child returned unknown exit status."); break; |
