From 568c19f07dd046983eacb7ddd4be9cd9af8df144 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Sat, 4 Jan 2020 11:44:47 +0100 Subject: [PATCH] device/wifi: fix memleak parsing SSID arguments for "RequestScan" Oddly enough, valgrind was not complaining about this leak... Fixes: 87b2d783b6c7 ('core: accept 'ssids':aay option in RequestScan() dictionary parameter') (cherry picked from commit 5ed1edc02a064d48017b56bfa929ec4c08795a10) --- src/devices/wifi/nm-device-wifi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c index 65ba2bcc0f..98f9df25fa 100644 --- a/src/devices/wifi/nm-device-wifi.c +++ b/src/devices/wifi/nm-device-wifi.c @@ -1075,7 +1075,6 @@ static GPtrArray * ssids_options_to_ptrarray (GVariant *value, GError **error) { GPtrArray *ssids = NULL; - GVariant *v; const guint8 *bytes; gsize len; int num_ssids, i; @@ -1092,6 +1091,8 @@ ssids_options_to_ptrarray (GVariant *value, GError **error) if (num_ssids) { ssids = g_ptr_array_new_full (num_ssids, (GDestroyNotify) g_bytes_unref); for (i = 0; i < num_ssids; i++) { + gs_unref_variant GVariant *v = NULL; + v = g_variant_get_child_value (value, i); bytes = g_variant_get_fixed_array (v, &len, sizeof (guint8)); if (len > 32) {