X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-bus%2Fsd-bus.c;h=549f9e09433c7bf87ceb2d83ac908b5c78760671;hb=a2243d548830d2aff6b768a0b47a0f0a513012a5;hp=33b65aba72e30acf1881de19849a62b7a727edef;hpb=d5099efc47d4e6ac60816b5381a5f607ab03f06e;p=elogind.git diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c index 33b65aba7..549f9e094 100644 --- a/src/libsystemd/sd-bus/sd-bus.c +++ b/src/libsystemd/sd-bus/sd-bus.c @@ -142,6 +142,7 @@ static void bus_free(sd_bus *b) { hashmap_free_free(b->reply_callbacks); prioq_free(b->reply_callbacks_prioq); + assert(b->match_callbacks.type == BUS_MATCH_ROOT); bus_match_free(&b->match_callbacks); hashmap_free_free(b->vtable_methods); @@ -349,8 +350,6 @@ static int hello_callback(sd_bus *bus, sd_bus_message *reply, void *userdata, sd assert(reply); r = sd_bus_message_get_errno(reply); - if (r < 0) - return r; if (r > 0) return -r; @@ -1164,7 +1163,11 @@ int bus_set_address_user(sd_bus *b) { #endif } else { #ifdef ENABLE_KDBUS - asprintf(&b->address, KERNEL_USER_BUS_FMT, getuid()); + int r; + + r = asprintf(&b->address, KERNEL_USER_BUS_FMT, getuid()); + if (r < 0) + return -ENOMEM; #else return -ECONNREFUSED; #endif