summaryrefslogtreecommitdiff
path: root/src/libsystemd/sd-bus/bus-creds.c
diff options
context:
space:
mode:
authorDaniel Mack <daniel@zonque.org>2015-03-02 11:36:35 +0100
committerDaniel Mack <daniel@zonque.org>2015-03-02 11:36:35 +0100
commit606303a93ea52a70ebba55bb3152820e630f2164 (patch)
treed8f102c6dc42f6a5f81f3ee39639be4e5a872c95 /src/libsystemd/sd-bus/bus-creds.c
parent9d3dec15ae8ac6153038c9b994e6c4fc22045180 (diff)
sd-bus: sync kdbus.h (ABI break)
After some reconsideration, we decided to move the binary protocol back to 64-bit wide UIDs and GIDs. After all, it should be possible to redefine [gu]id_t to uint64_t and things should continue to work. As we want to avoid such data types in kdbus.h, let's move back to 64-bit values and be safe. In sd-bus, we have to do a translation between uint64_t and gid_t now for supplementary gids. Some inline comments have also been updated in kdbus upstream.
Diffstat (limited to 'src/libsystemd/sd-bus/bus-creds.c')
-rw-r--r--src/libsystemd/sd-bus/bus-creds.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libsystemd/sd-bus/bus-creds.c b/src/libsystemd/sd-bus/bus-creds.c
index a08391bfc2..d172dadbfd 100644
--- a/src/libsystemd/sd-bus/bus-creds.c
+++ b/src/libsystemd/sd-bus/bus-creds.c
@@ -51,6 +51,7 @@ void bus_creds_done(sd_bus_creds *c) {
free(c->user_unit);
free(c->slice);
free(c->unescaped_description);
+ free(c->supplementary_gids);
free(c->well_known_names); /* note that this is an strv, but
* we only free the array, not the
@@ -100,7 +101,9 @@ _public_ sd_bus_creds *sd_bus_creds_unref(sd_bus_creds *c) {
free(c->unique_name);
free(c->cgroup_root);
free(c->description);
+
free(c->supplementary_gids);
+ c->supplementary_gids = NULL;
strv_free(c->well_known_names);
c->well_known_names = NULL;