From 769e01814d44265112d1cca2cde63cc9ada45422 Mon Sep 17 00:00:00 2001 From: Adrian Szyndela Date: Wed, 17 Aug 2016 16:38:06 +0200 Subject: [PATCH] kdbus: fixed memory leak in reply_ListNames() Additionally, added some documentation for _kdbus_list(). Change-Id: I267100ec123f33a1b10f3ce1c9aca3004ac1e9fc --- dbus/dbus-transport-kdbus.c | 2 ++ dbus/kdbus-common.c | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/dbus/dbus-transport-kdbus.c b/dbus/dbus-transport-kdbus.c index 2fa932e..db70f1c 100644 --- a/dbus/dbus-transport-kdbus.c +++ b/dbus/dbus-transport-kdbus.c @@ -2126,6 +2126,8 @@ reply_listNames (DBusTransportKdbus *transport, if (!dbus_message_set_sender (reply, DBUS_SERVICE_DBUS)) goto oom_reply; + _kdbus_free_mem (transport->kdbus, name_list); + return reply; oom_iterator: diff --git a/dbus/kdbus-common.c b/dbus/kdbus-common.c index bfceef9..ad94ea9 100644 --- a/dbus/kdbus-common.c +++ b/dbus/kdbus-common.c @@ -470,6 +470,17 @@ _kdbus_recv (kdbus_t *kdbus, return 0; } +/** + * Provides list of names on the bus. + * + * @param kdbus kdbus object + * @param flags specification of required names. See enum kdbus_list_flags in kdbus.h. + * @param name_list data from kdbus response - the list + * @param list_size size of name_list in bytes + * @return 0 on success, errno on failure + * + * Note that name_list is allocated in kdbus pool and must be freed by _kdbus_free_mem. + */ int _kdbus_list (kdbus_t *kdbus, __u64 flags, -- 2.7.4