summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2020-04-29 21:14:29 +0200
committerThomas Haller <thaller@redhat.com>2020-04-29 21:15:19 +0200
commita2deb0da5ef9b1d9313b068c7e4cc340419aaa65 (patch)
tree0e9e5a76ce960eb525a36a3214620d18a077d6fc
parent4940cfcd7ec3db3c4503f6e749b5754ae47009cb (diff)
downloadNetworkManager-a2deb0da5ef9b1d9313b068c7e4cc340419aaa65.tar.gz
wifi: fix crash during dispose of NMDeviceWifi
Backtrace: #0 0x00007f520eeb2002 g_logv (libglib-2.0.so.0 + 0x5a002) #1 0x00007f520eeb2273 g_log (libglib-2.0.so.0 + 0x5a273) #2 0x000056026929b25a nm_supplicant_interface_get_max_scan_ssids (NetworkManager + 0x27e25a) #3 0x00007f520c238bb1 _scan_request_ssids_build_hidden (libnm-device-plugin-wifi.so + 0x15bb1) #4 0x00007f520c23a2d5 _scan_notify_is_scanning (libnm-device-plugin-wifi.so + 0x172d5) #5 0x00007f520c2433d3 dispose (libnm-device-plugin-wifi.so + 0x203d3) #6 0x00007f520efa3c78 g_object_unref (libgobject-2.0.so.0 + 0x18c78) #7 0x00005602690ada1a remove_device (NetworkManager + 0x90a1a) #8 0x00005602690be428 nm_manager_stop (NetworkManager + 0xa1428) #9 0x0000560269064adb main (NetworkManager + 0x47adb) #10 0x00007f520ec70042 __libc_start_main (libc.so.6 + 0x27042) #11 0x0000560269064efe _start (NetworkManager + 0x47efe) Fixes: e07fc217ecd7 ('wifi: rework scanning of Wi-Fi device')
-rw-r--r--src/devices/wifi/nm-device-wifi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c
index d53f59a272..320058475e 100644
--- a/src/devices/wifi/nm-device-wifi.c
+++ b/src/devices/wifi/nm-device-wifi.c
@@ -1534,7 +1534,7 @@ _scan_request_ssids_build_hidden (NMDeviceWifi *self,
gboolean *out_has_hidden_profiles)
{
NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
- guint max_scan_ssids = nm_supplicant_interface_get_max_scan_ssids (priv->sup_iface);
+ guint max_scan_ssids = priv->sup_iface ? nm_supplicant_interface_get_max_scan_ssids (priv->sup_iface) : 0u;
gs_free NMSettingsConnection **connections = NULL;
gs_unref_ptrarray GPtrArray *ssids = NULL;
gs_unref_hashtable GHashTable *unique_ssids = NULL;