chiark / gitweb /
bus: unref buscreds on failure
[elogind.git] / src / libsystemd / sd-bus / sd-bus.c
index 78e91b96541809ef35e13d0b5edf0ac55ab8c890..83b3aa1c3c46837f325c72047ab45fc1be3e6252 100644 (file)
@@ -3339,8 +3339,10 @@ _public_ int sd_bus_get_peer_creds(sd_bus *bus, uint64_t mask, sd_bus_creds **re
         }
 
         r = bus_creds_add_more(c, mask, pid, 0);
-        if (r < 0)
+        if (r < 0) {
+                sd_bus_creds_unref(c);
                 return r;
+        }
 
         *ret = c;
         return 0;