summaryrefslogtreecommitdiffstats
path: root/src/daemon
diff options
context:
space:
mode:
authorDiego Petteno <flameeyes@gmail.com>2008-01-24 09:35:50 +0000
committerDiego Petteno <flameeyes@gmail.com>2008-01-24 09:35:50 +0000
commitbe4c0f296cecb6cfdcf38ff6151bedfa3206a5bb (patch)
tree85902a6d3ca667dfae43a61a7fde9212e1b15de7 /src/daemon
parentd36a1b8333081dcaad2b77209913253a9703d88f (diff)
Apply the fix for CVE-2008-0008 from 0.9.9 release on trunk.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2102 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/daemon')
-rw-r--r--src/daemon/caps.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/daemon/caps.c b/src/daemon/caps.c
index 5b4008a5..44ee355e 100644
--- a/src/daemon/caps.c
+++ b/src/daemon/caps.c
@@ -63,13 +63,16 @@ void pa_drop_root(void) {
pa_log_info("Dropping root priviliges.");
#if defined(HAVE_SETRESUID)
- setresuid(uid, uid, uid);
+ pa_assert_se(setresuid(uid, uid, uid) >= 0);
#elif defined(HAVE_SETREUID)
- setreuid(uid, uid);
+ pa_assert_se(setreuid(uid, uid) >= 0);
#else
- setuid(uid);
- seteuid(uid);
+ pa_assert_se(setuid(uid) >= 0);
+ pa_assert_se(seteuid(uid) >= 0);
#endif
+
+ pa_assert_se(getuid() == uid);
+ pa_assert_se(geteuid() == uid);
}
#else
@@ -147,4 +150,3 @@ int pa_drop_caps(void) {
}
#endif
-