]> code.delx.au - pulseaudio/commitdiff
make pa_drop_caps() abort on failure
authorLennart Poettering <lennart@poettering.net>
Sun, 30 Mar 2008 00:39:57 +0000 (00:39 +0000)
committerLennart Poettering <lennart@poettering.net>
Sun, 30 Mar 2008 00:39:57 +0000 (00:39 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/prepare-0.9.10@2193 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/daemon/caps.c
src/daemon/caps.h

index 44ee355e76292403290f6323df57fbaa58d1cf3b..af593388598a0e5ce7b8fcc4ec1a5535e2b9f4a8 100644 (file)
@@ -90,8 +90,8 @@ int pa_limit_caps(void) {
     cap_t caps;
     cap_value_t nice_cap = CAP_SYS_NICE;
 
-    caps = cap_init();
-    pa_assert(caps);
+    pa_assert_se(caps = cap_init());
+
     cap_clear(caps);
     cap_set_flag(caps, CAP_EFFECTIVE, 1, &nice_cap, CAP_SET);
     cap_set_flag(caps, CAP_PERMITTED, 1, &nice_cap, CAP_SET);
@@ -113,28 +113,15 @@ fail:
 }
 
 /* Drop all capabilities, effectively becoming a normal user */
-int pa_drop_caps(void) {
+void pa_drop_caps(void) {
     cap_t caps;
-    int r = -1;
 
-    caps = cap_init();
-    pa_assert(caps);
+    pa_assert_se(prctl(PR_SET_KEEPCAPS, 0, 0, 0, 0) == 0);
 
+    pa_assert_se(caps = cap_init());
     cap_clear(caps);
-
-    prctl(PR_SET_KEEPCAPS, 0, 0, 0, 0);
-
-    if (cap_set_proc(caps) < 0) {
-        pa_log("Failed to drop capabilities: %s", pa_cstrerror(errno));
-        goto fail;
-    }
-
-    r = 0;
-
-fail:
+    pa_assert_se(cap_set_proc(caps) == 0);
     cap_free(caps);
-
-    return r;
 }
 
 #else
index 4cd09578c2de473b150db63f394de6403c8b0cf6..91c88418b06bfd46f16354390e80a89f751fd547 100644 (file)
@@ -25,7 +25,7 @@
 ***/
 
 void pa_drop_root(void);
+void pa_drop_caps(void);
 int pa_limit_caps(void);
-int pa_drop_caps(void);
 
 #endif