mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-23 06:02:37 +01:00
station: Fix leaking of roam_freqs on shutdown
==17639== 72 (16 direct, 56 indirect) bytes in 1 blocks are definitely lost in loss record 3 of 3 ==17639== at 0x4C2F0CF: malloc (vg_replace_malloc.c:299) ==17639== by 0x4670AD: l_malloc (util.c:61) ==17639== by 0x4215AA: scan_freq_set_new (scan.c:1906) ==17639== by 0x412A9C: parse_neighbor_report (station.c:1910) ==17639== by 0x407335: netdev_neighbor_report_frame_event (netdev.c:3522) ==17639== by 0x44BBE6: frame_watch_unicast_notify (frame-xchg.c:233) ==17639== by 0x470C04: dispatch_unicast_watches (genl.c:961) ==17639== by 0x470C04: process_unicast (genl.c:980) ==17639== by 0x470C04: received_data (genl.c:1101) ==17639== by 0x46D9DB: io_callback (io.c:118) ==17639== by 0x46CC0C: l_main_iterate (main.c:477) ==17639== by 0x46CCDB: l_main_run (main.c:524) ==17639== by 0x46CF01: l_main_run_with_signal (main.c:656) ==17639== by 0x403EDE: main (main.c:490)
This commit is contained in:
parent
d372d59bea
commit
08a295c348
@ -1292,6 +1292,11 @@ static void station_roam_state_clear(struct station *station)
|
|||||||
if (station->roam_scan_id)
|
if (station->roam_scan_id)
|
||||||
scan_cancel(netdev_get_wdev_id(station->netdev),
|
scan_cancel(netdev_get_wdev_id(station->netdev),
|
||||||
station->roam_scan_id);
|
station->roam_scan_id);
|
||||||
|
|
||||||
|
if (station->roam_freqs) {
|
||||||
|
scan_freq_set_free(station->roam_freqs);
|
||||||
|
station->roam_freqs = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void station_reset_connection_state(struct station *station)
|
static void station_reset_connection_state(struct station *station)
|
||||||
@ -1318,11 +1323,6 @@ static void station_reset_connection_state(struct station *station)
|
|||||||
station->connected_bss = NULL;
|
station->connected_bss = NULL;
|
||||||
station->connected_network = NULL;
|
station->connected_network = NULL;
|
||||||
|
|
||||||
if (station->roam_freqs) {
|
|
||||||
scan_freq_set_free(station->roam_freqs);
|
|
||||||
station->roam_freqs = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
||||||
IWD_STATION_INTERFACE, "ConnectedNetwork");
|
IWD_STATION_INTERFACE, "ConnectedNetwork");
|
||||||
l_dbus_property_changed(dbus, network_get_path(network),
|
l_dbus_property_changed(dbus, network_get_path(network),
|
||||||
|
Loading…
Reference in New Issue
Block a user