From ff7a4bd13fe4a0058c5b865d390a7d57646a8d1e Mon Sep 17 00:00:00 2001 From: Jouni Malinen <j@w1.fi> Date: Sat, 25 Jul 2015 19:52:27 +0300 Subject: [PATCH] FST: Do not replace previous attachment hapd->iface->fst must not be overridden if it is already pointing to FST instance. Without this, duplicated FST-ATTACH could result in memory leak and process termination. Signed-off-by: Jouni Malinen <j@w1.fi> --- hostapd/ctrl_iface.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c index aa803533c..d2c78cadd 100644 --- a/hostapd/ctrl_iface.c +++ b/hostapd/ctrl_iface.c @@ -2578,6 +2578,10 @@ hostapd_global_ctrl_iface_fst_attach(struct hapd_interfaces *interfaces, if (!fst_parse_attach_command(cmd, ifname, sizeof(ifname), &cfg)) { hapd = hostapd_get_iface(interfaces, ifname); if (hapd) { + if (hapd->iface->fst) { + wpa_printf(MSG_INFO, "FST: Already attached"); + return -1; + } fst_hostapd_fill_iface_obj(hapd, &iface_obj); hapd->iface->fst = fst_attach(ifname, hapd->own_addr, &iface_obj, &cfg);