From: Felix Fietkau Date: Wed, 28 Jul 2021 03:48:38 +0000 (+0200) Subject: hostapd: fix a segfault on sta disconnect with proxy arp enabled X-Git-Tag: v22.03.0-rc1~2084 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=5dd1bd5b80feb2dbaad8bdf93779acad74ed199a;p=openwrt%2Fopenwrt.git hostapd: fix a segfault on sta disconnect with proxy arp enabled Signed-off-by: Felix Fietkau --- diff --git a/package/network/services/hostapd/patches/023-ndisc_snoop-call-dl_list_del-before-freeing-ipv6-add.patch b/package/network/services/hostapd/patches/023-ndisc_snoop-call-dl_list_del-before-freeing-ipv6-add.patch new file mode 100644 index 0000000000..9ff9b2398d --- /dev/null +++ b/package/network/services/hostapd/patches/023-ndisc_snoop-call-dl_list_del-before-freeing-ipv6-add.patch @@ -0,0 +1,19 @@ +From: Felix Fietkau +Date: Wed, 28 Jul 2021 05:43:29 +0200 +Subject: [PATCH] ndisc_snoop: call dl_list_del before freeing ipv6 addresses + +Fixes a segmentation fault on sta disconnect + +Signed-off-by: Felix Fietkau +--- + +--- a/src/ap/ndisc_snoop.c ++++ b/src/ap/ndisc_snoop.c +@@ -61,6 +61,7 @@ void sta_ip6addr_del(struct hostapd_data + 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); + } + }