From a487b3557215ad736cf7c6e6f8d07f03b94cad31 Mon Sep 17 00:00:00 2001 From: Ilan Peer Date: Wed, 22 Jan 2014 16:05:46 +0200 Subject: [PATCH] hostapd: Fix segmentation fault when calling hostapd_cli all_sta While iterating over the stations hostapd_ctrl_iface_sta_mib() might be called with sta == NULL. Fix this. Signed-hostap: Ilan Peer --- src/ap/ctrl_iface_ap.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ap/ctrl_iface_ap.c b/src/ap/ctrl_iface_ap.c index 3fb9e04bb..8c0cbab66 100644 --- a/src/ap/ctrl_iface_ap.c +++ b/src/ap/ctrl_iface_ap.c @@ -86,6 +86,9 @@ static int hostapd_ctrl_iface_sta_mib(struct hostapd_data *hapd, { int len, res, ret, i; + if (!sta) + return 0; + len = 0; ret = os_snprintf(buf + len, buflen - len, MACSTR "\nflags=", MAC2STR(sta->addr)); @@ -203,7 +206,11 @@ int hostapd_ctrl_iface_sta_next(struct hostapd_data *hapd, const char *txtaddr, if (ret < 0 || (size_t) ret >= buflen) return 0; return ret; - } + } + + if (!sta->next) + return 0; + return hostapd_ctrl_iface_sta_mib(hapd, sta->next, buf, buflen); }