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: e07fc217ec ('wifi: rework scanning of Wi-Fi device')
This commit is contained in:
Thomas Haller
2020-04-29 21:14:29 +02:00
parent 4940cfcd7e
commit a2deb0da5e

View File

@@ -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;