Fix hostapd interface cleanup with multiple interfaces
interfaces.iface[i] might be NULL when going through the cleanup of all
remaining interfaces at the end of the process termination. The changes
for clearing drv_priv in AP MLD cause that cleanup process to crash on
dereferencing a NULL pointer.
Fix this by explicitly checking that the interface context is available
before trying to clear the pointer to driver data.
Fixes: 7fa99b3246
("AP: Allow starting multiple interfaces within single MLD")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
This commit is contained in:
parent
7637d0f250
commit
dd1330b502
1 changed files with 1 additions and 1 deletions
|
@ -401,7 +401,7 @@ static void hostapd_clear_drv_priv(struct hostapd_data *hapd)
|
||||||
for (i = 0; i < hapd->iface->interfaces->count; i++) {
|
for (i = 0; i < hapd->iface->interfaces->count; i++) {
|
||||||
struct hostapd_iface *iface = hapd->iface->interfaces->iface[i];
|
struct hostapd_iface *iface = hapd->iface->interfaces->iface[i];
|
||||||
|
|
||||||
if (hapd->iface == iface)
|
if (hapd->iface == iface || !iface)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (iface->bss && iface->bss[0] &&
|
if (iface->bss && iface->bss[0] &&
|
||||||
|
|
Loading…
Add table
Reference in a new issue