diff options
| author | Karel Klic <kklic@redhat.com> | 2009-11-24 15:06:43 +0100 |
|---|---|---|
| committer | Karel Klic <kklic@redhat.com> | 2009-11-24 15:06:43 +0100 |
| commit | a2a69a438e47d361f3c58fe8d631df906e2120d1 (patch) | |
| tree | 219fbdd4a115b46925a80e0482c24faaad1f2da2 /lib/Plugins/CCpp.cpp | |
| parent | f6e929ee12a08a95c263b9c4c3e89f6eab188c4c (diff) | |
| parent | bc5dfcff0c2eedd84a5f2bec27c519e2e90c5969 (diff) | |
| download | abrt-a2a69a438e47d361f3c58fe8d631df906e2120d1.tar.gz abrt-a2a69a438e47d361f3c58fe8d631df906e2120d1.tar.xz abrt-a2a69a438e47d361f3c58fe8d631df906e2120d1.zip | |
Merge branch 'master' of ssh://git.fedorahosted.org/git/abrt
Diffstat (limited to 'lib/Plugins/CCpp.cpp')
| -rw-r--r-- | lib/Plugins/CCpp.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp index 83b0e9a..d83d9b5 100644 --- a/lib/Plugins/CCpp.cpp +++ b/lib/Plugins/CCpp.cpp @@ -99,10 +99,11 @@ static pid_t ExecVP(char** pArgs, uid_t uid, string& pOutput) int pipeout[2]; pid_t child; + gid_t gid = uid; struct passwd* pw = getpwuid(uid); - if (!pw) + if (pw) { - throw CABRTException(EXCEP_PLUGIN, string(__func__) + ": cannot get GID for UID."); + gid = pw->pw_gid; } xpipe(pipeout); @@ -124,8 +125,8 @@ static pid_t ExecVP(char** pArgs, uid_t uid, string& pOutput) /* Not a good idea, we won't see any error messages */ /* close(STDERR_FILENO); */ - setgroups(1, &pw->pw_gid); - setregid(pw->pw_gid, pw->pw_gid); + setgroups(1, &gid); + setregid(gid, gid); setreuid(uid, uid); setsid(); |
