aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2021-07-28 05:48:38 +0200
committerFelix Fietkau <nbd@nbd.name>2021-11-23 18:30:04 +0100
commitaada4d0e785b8f44e298296208a577676aaa020e (patch)
treef1ea870dd1f6b83ccbba39d1a2926816a614504e /package/network/services
parentc75d17688237a310cff1d5435db556f96dc0e6e9 (diff)
downloadupstream-aada4d0e785b8f44e298296208a577676aaa020e.tar.gz
upstream-aada4d0e785b8f44e298296208a577676aaa020e.tar.bz2
upstream-aada4d0e785b8f44e298296208a577676aaa020e.zip
hostapd: fix a segfault on sta disconnect with proxy arp enabled
Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 5dd1bd5b80feb2dbaad8bdf93779acad74ed199a)
Diffstat (limited to 'package/network/services')
-rw-r--r--package/network/services/hostapd/patches/023-ndisc_snoop-call-dl_list_del-before-freeing-ipv6-add.patch19
1 files changed, 19 insertions, 0 deletions
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 <nbd@nbd.name>
+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 <nbd@nbd.name>
+---
+
+--- 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);
+ }
+ }