From ef42202ac8ed27e7ff1fc90ef8bc2590046dff25 Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Mon, 22 Apr 2013 23:12:15 -0400 Subject: Add set_consume which always takes ownership Freeing in error path is the common pattern with set_put(). --- src/libsystemd-bus/sd-bus.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'src/libsystemd-bus') diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c index c7511c32d2..7d6d848ec5 100644 --- a/src/libsystemd-bus/sd-bus.c +++ b/src/libsystemd-bus/sd-bus.c @@ -1841,13 +1841,9 @@ static int process_introspect(sd_bus *bus, sd_bus_message *m) { if (p) *p = 0; - r = set_put(s, a); - if (r < 0) { - free(a); - - if (r != -EEXIST) - return r; - } + r = set_consume(s, a); + if (r < 0 && r != -EEXIST) + return r; } f = open_memstream(&introspection, &size); -- cgit v1.2.3-54-g00ecf