From 505e77caa5cafce27b0dbfcf23e9b28315d167ae Mon Sep 17 00:00:00 2001 From: Daniel Mack Date: Wed, 22 Oct 2014 22:06:53 +0200 Subject: [PATCH] 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_. --- src/libsystemd/sd-bus/bus-control.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/libsystemd/sd-bus/bus-control.c b/src/libsystemd/sd-bus/bus-control.c index a84b060b4..39f4fc83a 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; } -- 2.30.2