From ff890a54732e8d47384e00ba37ecfa1799b82d30 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 13 Aug 2019 11:51:40 +0200 Subject: [PATCH] bluetooth: fix leak in get_managed_objects_cb() Fixes: 1ae5d5335417 ('bluez: add support for BlueZ 5') (cherry picked from commit 25571bb6391b5fedef5fbf2270659ae73b42694a) (cherry picked from commit 6118f808d94f40326ab4871d3ec1c2cb214ce269) (cherry picked from commit b629570a7580780e78ecb3a4966c74d46093035b) --- src/devices/bluetooth/nm-bluez5-manager.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/devices/bluetooth/nm-bluez5-manager.c b/src/devices/bluetooth/nm-bluez5-manager.c index be15d8243b..13b56833da 100644 --- a/src/devices/bluetooth/nm-bluez5-manager.c +++ b/src/devices/bluetooth/nm-bluez5-manager.c @@ -405,6 +405,7 @@ get_managed_objects_cb (GDBusProxy *proxy, GAsyncResult *res, NMBluez5Manager *self) { + gs_unref_variant GVariant *variant0 = NULL; GVariant *variant, *ifaces; GVariantIter i; GError *error = NULL; @@ -423,7 +424,8 @@ get_managed_objects_cb (GDBusProxy *proxy, g_clear_error (&error); return; } - g_variant_iter_init (&i, g_variant_get_child_value (variant, 0)); + variant0 = g_variant_get_child_value (variant, 0); + g_variant_iter_init (&i, variant0); while ((g_variant_iter_next (&i, "{&o*}", &path, &ifaces))) { object_manager_interfaces_added (proxy, path, ifaces, self); g_variant_unref (ifaces);