[PATCH 3/7] ndisc_snoop: call dl_list_del before freeing ipv6 addresses

Felix Fietkau nbd at nbd.name
Thu Apr 4 03:52:13 PDT 2024


Fixes a segmentation fault on sta disconnect

Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 src/ap/ndisc_snoop.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/ap/ndisc_snoop.c b/src/ap/ndisc_snoop.c
index 788c12fdc1cf..bc1eb6251ac0 100644
--- a/src/ap/ndisc_snoop.c
+++ b/src/ap/ndisc_snoop.c
@@ -61,6 +61,7 @@ void sta_ip6addr_del(struct hostapd_data *hapd, struct sta_info *sta)
 	dl_list_for_each_safe(ip6addr, prev, &sta->ip6addr, struct ip6addr,
 			      list) {
 		hostapd_drv_br_delete_ip_neigh(hapd, 6, (u8 *) &ip6addr->addr);
+		dl_list_del(&ip6addr->list);
 		os_free(ip6addr);
 	}
 }
-- 
2.43.0




More information about the Hostap mailing list