From 27301fe2687b33d896cd9e03dbe886465c17ac82 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Sun, 6 Oct 2019 14:33:11 +0200 Subject: [PATCH] libnm/device: fix memleak options variant in nm_device_wifi_request_scan_options*() A function that accepts a floating variant must consume it. Fixes: 7691fe575377 ('libnm: add new functions allowing passing options to RequestScan() D-Bus call') (cherry picked from commit 40911fb99b893ae26577cb808b380b20df3f3117) --- libnm/nm-device-wifi.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libnm/nm-device-wifi.c b/libnm/nm-device-wifi.c index 3b1c00a4c0..ed9738b9b7 100644 --- a/libnm/nm-device-wifi.c +++ b/libnm/nm-device-wifi.c @@ -308,6 +308,7 @@ prepare_scan_options (GVariant *options) g_variant_builder_add (&builder, "{sv}", key, value); } variant = g_variant_builder_end (&builder); + nm_g_variant_unref_floating (options); } return variant; } @@ -323,7 +324,7 @@ _device_wifi_request_scan (NMDeviceWifi *device, g_return_val_if_fail (NM_IS_DEVICE_WIFI (device), FALSE); - variant = prepare_scan_options (options); + variant = prepare_scan_options (g_steal_pointer (&options)); ret = nmdbus_device_wifi_call_request_scan_sync (NM_DEVICE_WIFI_GET_PRIVATE (device)->proxy, variant, @@ -442,7 +443,7 @@ _device_wifi_request_scan_async (NMDeviceWifi *device, info->device = device; info->simple = simple; - variant = prepare_scan_options (options); + variant = prepare_scan_options (g_steal_pointer (&options)); priv->scan_info = info; nmdbus_device_wifi_call_request_scan (NM_DEVICE_WIFI_GET_PRIVATE (device)->proxy,