mirror of
https://github.com/espressif/esp-idf.git
synced 2026-04-27 19:13:21 +00:00
Merge branch 'bugfix/eloop_mem_leak_v5.3' into 'release/v5.3'
fix(esp_wifi): Fix memory leak caused due to eloop (v5.3) See merge request espressif/esp-idf!45905
This commit is contained in:
@@ -501,7 +501,10 @@ bool wpa_ap_remove(u8* bssid)
|
||||
return false;
|
||||
}
|
||||
os_memcpy(addr, sta->addr, ETH_ALEN);
|
||||
eloop_register_timeout(0, 10000, ap_free_sta_timeout, hapd, addr);
|
||||
if (eloop_register_timeout(0, 10000, ap_free_sta_timeout, hapd, addr) != 0) {
|
||||
os_free(addr);
|
||||
return false;
|
||||
}
|
||||
} else
|
||||
#endif
|
||||
ap_free_sta(hapd, sta);
|
||||
|
||||
@@ -169,7 +169,7 @@ overflow:
|
||||
"ELOOP: Too long timeout (secs=%u usecs=%u) to ever happen - ignore it",
|
||||
secs, usecs);
|
||||
os_free(timeout);
|
||||
return 0;
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef ELOOP_DEBUG
|
||||
@@ -526,6 +526,9 @@ void eloop_destroy(void)
|
||||
sec, usec, timeout->eloop_data, timeout->user_data,
|
||||
timeout->handler);
|
||||
#endif
|
||||
if (timeout->handler) {
|
||||
timeout->handler(timeout->eloop_data, timeout->user_data);
|
||||
}
|
||||
eloop_remove_timeout(timeout);
|
||||
}
|
||||
if (eloop_data_lock) {
|
||||
|
||||
Reference in New Issue
Block a user