From: Zbigniew Jędrzejewski-Szmek Date: Fri, 3 Oct 2014 23:47:47 +0000 (-0400) Subject: sd-bus: split out cleanup into separate function X-Git-Tag: v217~323 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=125dd07483b6836106ff9ad3ce1737d8a6c56c59;p=platform%2Fupstream%2Fsystemd.git sd-bus: split out cleanup into separate function m is always non-null at this point. This function is too long anyway. --- diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c index 0c39e22ed7..09ff25fe71 100644 --- a/src/libsystemd/sd-bus/bus-kernel.c +++ b/src/libsystemd/sd-bus/bus-kernel.c @@ -332,6 +332,18 @@ fail: return r; } +static void unset_memfds(struct sd_bus_message *m) { + struct bus_body_part *part; + unsigned i; + + assert(m); + + /* Make sure the memfds are not freed twice */ + MESSAGE_FOREACH_PART(part, i, m) + if (part->memfd >= 0) + part->memfd = -1; +} + static int bus_kernel_make_message(sd_bus *bus, struct kdbus_msg *k) { sd_bus_message *m = NULL; struct kdbus_item *d; @@ -627,17 +639,8 @@ static int bus_kernel_make_message(sd_bus *bus, struct kdbus_msg *k) { return 1; fail: - if (m) { - struct bus_body_part *part; - unsigned i; - - /* Make sure the memfds are not freed twice */ - MESSAGE_FOREACH_PART(part, i, m) - if (part->memfd >= 0) - part->memfd = -1; - - sd_bus_message_unref(m); - } + unset_memfds(m); + sd_bus_message_unref(m); return r; }