From 6b3fc26e43cb6a4f0ca4041433650e9eea6e1c1f Mon Sep 17 00:00:00 2001 From: jow Date: Thu, 2 Feb 2012 14:06:16 +0000 Subject: [package] iwinfo: fix segmentation fault when doing two consecutive scans through wpa_supplicant Based on patch by Christian Kapeller with one minor whitespace change and updated package version. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29992 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/iwinfo/src/iwinfo_nl80211.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'package/iwinfo/src/iwinfo_nl80211.c') diff --git a/package/iwinfo/src/iwinfo_nl80211.c b/package/iwinfo/src/iwinfo_nl80211.c index 4f3390fdb..e8cfb902f 100644 --- a/package/iwinfo/src/iwinfo_nl80211.c +++ b/package/iwinfo/src/iwinfo_nl80211.c @@ -387,10 +387,13 @@ static char * nl80211_wpactl_info(const char *ifname, const char *cmd, goto out; - send(sock, "ATTACH", 6, 0); + if (event) + { + send(sock, "ATTACH", 6, 0); - if (nl80211_wpactl_recv(sock, buffer, sizeof(buffer)) <= 0) - goto out; + if (nl80211_wpactl_recv(sock, buffer, sizeof(buffer)) <= 0) + goto out; + } send(sock, cmd, strlen(cmd), 0); @@ -405,7 +408,7 @@ static char * nl80211_wpactl_info(const char *ifname, const char *cmd, break; } - if ((!event && buffer[0] != '<') || strstr(buffer, event)) + if ((!event && buffer[0] != '<') || (event && strstr(buffer, event))) break; } -- cgit v1.2.3