openwrt/package/network/utils
jow 8b999f8512 BB: package: fix segfault of iwinfo.scanlist("radio0").
This is a bug revealed in r41830.

First, the static variable `char nif[IFNAMSIZ]` of nl80211_phy2ifname()
would be zeroed out if the argument is "wlan0" or the like.  This will
happen in the following call stack.

 nl80211_get_scanlist("radio0", buf, len);
   nl80211_phy2ifname("radio0")			// return static var nif with content "wlan0"
   nl80211_get_scanlist(nif, buf, len);		// tail call
     nl80211_get_mode(nif);
        nl80211_phy2ifname(nif);		// zero out nif

Later we try nl80211_ifadd("") which was supposed to create interface
"tmp.", but that won't happen because nl80211_msg() will put an invalid
ifidx 0 to the nlmsg.

Then iwinfo_ifup() and iwinfo_ifdown() would fail and happily
nl80211_get_scanlist() returned 0 and left *len undefined.

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>

Backport of r42151

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42152 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-12 11:15:38 +00:00
..
arptables create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
comgt create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
conntrack-tools create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
curl create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
dante create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
ebtables create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
ifenslave create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
iftop create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
iperf create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
iproute2 create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
ipset create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
iptables iptables: add kmod-ipt-nf* to dependency list of iptables-mod-nf*. 2014-08-07 12:33:22 +00:00
iputils iputils: add missing includes, fix musl support 2014-08-03 11:15:56 +00:00
iw create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
iwcap iwcap: add missing include 2014-08-03 11:15:53 +00:00
iwinfo BB: package: fix segfault of iwinfo.scanlist("radio0"). 2014-08-12 11:15:38 +00:00
linux-atm create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
maccalc create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
owipcalc create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
resolveip create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
rssileds create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
tcpdump create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
uqmi create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
wireless-tools create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00
xtables-addons create branch for barrier breaker (from trunk r41863) 2014-07-28 23:18:57 +00:00