From 2d13cad04acae94b2d3991e432c62b36abe9509d Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 25 Jul 2015 19:52:27 +0300 Subject: 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. Change-Id: Ib2f13d8661c8561b2bf75e821a9bd6621c10c94b Signed-off-by: Jouni Malinen Git-commit: ff7a4bd13fe4a0058c5b865d390a7d57646a8d1e Git-repo: git://w1.fi/srv/git/hostap.git CRs-Fixed: 891455 --- hostapd/ctrl_iface.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'hostapd') diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c index f9e317e5..ea8e0f8f 100644 --- a/hostapd/ctrl_iface.c +++ b/hostapd/ctrl_iface.c @@ -2479,6 +2479,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); -- cgit v1.2.3