[systemd-commits] src/libsystemd

Daniel Mack zonque at kemper.freedesktop.org
Wed Oct 22 13:08:23 PDT 2014


 src/libsystemd/sd-bus/bus-control.c |    9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

New commits:
commit 505e77caa5cafce27b0dbfcf23e9b28315d167ae
Author: Daniel Mack <daniel at zonque.org>
Date:   Wed Oct 22 22:06:53 2014 +0200

    sd-bus: fix transition left-overs in sd_bus_get_owner_creds()
    
    sd_bus_get_owner_creds() was only halfly ported over to
    _cleanup_bus_creds_unref_.

diff --git a/src/libsystemd/sd-bus/bus-control.c b/src/libsystemd/sd-bus/bus-control.c
index a84b060..39f4fc8 100644
--- a/src/libsystemd/sd-bus/bus-control.c
+++ b/src/libsystemd/sd-bus/bus-control.c
@@ -826,10 +826,8 @@ _public_ int sd_bus_get_owner_creds(sd_bus *bus, uint64_t mask, sd_bus_creds **r
 
         if (!isempty(bus->label) && (mask & SD_BUS_CREDS_SELINUX_CONTEXT)) {
                 c->label = strdup(bus->label);
-                if (!c->label) {
-                        sd_bus_creds_unref(c);
+                if (!c->label)
                         return -ENOMEM;
-                }
 
                 c->mask |= SD_BUS_CREDS_SELINUX_CONTEXT;
         }
@@ -852,13 +850,12 @@ _public_ int sd_bus_get_owner_creds(sd_bus *bus, uint64_t mask, sd_bus_creds **r
                         return r;
         } else {
                 r = bus_creds_add_more(c, mask, pid, 0);
-                if (r < 0) {
-                        sd_bus_creds_unref(c);
+                if (r < 0)
                         return r;
-                }
         }
 
         *ret = c;
+        c = NULL;
         return 0;
 }
 



More information about the systemd-commits mailing list