[systemd-devel] [PATCH] sd-bus: fix memory leak in test-bus-chat
Daniel Mack
daniel at zonque.org
Wed May 13 04:01:30 PDT 2015
On 05/10/2015 03:14 AM, Cristian RodrÃguez wrote:
> Building with address sanitizer enabled on GCC 5.1.x a memory leak
> is reported because we never close the bus, fix it by using
> cleanup variable attribute.
> ---
> src/libsystemd/sd-bus/test-bus-chat.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/src/libsystemd/sd-bus/test-bus-chat.c b/src/libsystemd/sd-bus/test-bus-chat.c
> index 99261fa..1e50dfc 100644
> --- a/src/libsystemd/sd-bus/test-bus-chat.c
> +++ b/src/libsystemd/sd-bus/test-bus-chat.c
> @@ -262,7 +262,7 @@ fail:
>
> static void* client1(void*p) {
> _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
> - sd_bus *bus = NULL;
> + _cleanup_bus_close_unref_ sd_bus *bus = NULL;
> sd_bus_error error = SD_BUS_ERROR_NULL;
> const char *hello;
> int r;
> @@ -345,8 +345,6 @@ finish:
> else
> sd_bus_send(bus, q, NULL);
>
> - sd_bus_flush(bus);
We should still keep this flush, right?
> - sd_bus_unref(bus);
> }
>
> sd_bus_error_free(&error);
>
Thanks,
Daniel
More information about the systemd-devel
mailing list