X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-bus%2Fsd-bus.c;h=bc4376fb510533478871854717157729fa04c76c;hb=75a0da952f603006d6b3535ecaf8ebe2bded30e7;hp=83b3aa1c3c46837f325c72047ab45fc1be3e6252;hpb=2b347169b9046ff2d735ef23e62a8c74f5151600;p=elogind.git diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c index 83b3aa1c3..bc4376fb5 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; @@ -1756,7 +1755,7 @@ _public_ int sd_bus_call_async( if (!BUS_IS_OPEN(bus->state)) return -ENOTCONN; - r = hashmap_ensure_allocated(&bus->reply_callbacks, uint64_hash_func, uint64_compare_func); + r = hashmap_ensure_allocated(&bus->reply_callbacks, &uint64_hash_ops); if (r < 0) return r;