diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-05-30 11:37:35 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2014-05-30 11:37:35 +0000 |
commit | 72d6a51e64d75ef9559e230118ce3a41e0b99a18 (patch) | |
tree | b7a205fa4d4fd520ac421a17f7700d81336e62c5 | |
parent | 8f8dc0959cbe188b6b51ef1e946e67fe85e4d0dd (diff) | |
download | openwrt-72d6a51e64d75ef9559e230118ce3a41e0b99a18.tar.gz openwrt-72d6a51e64d75ef9559e230118ce3a41e0b99a18.tar.bz2 openwrt-72d6a51e64d75ef9559e230118ce3a41e0b99a18.zip |
iwinfo: null-terminate the ssid on nl80211 scan to avoid printing trailing garbage
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 40884
-rw-r--r-- | package/network/utils/iwinfo/src/iwinfo_nl80211.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/package/network/utils/iwinfo/src/iwinfo_nl80211.c b/package/network/utils/iwinfo/src/iwinfo_nl80211.c index 4d0444a7aa..8e585892d7 100644 --- a/package/network/utils/iwinfo/src/iwinfo_nl80211.c +++ b/package/network/utils/iwinfo/src/iwinfo_nl80211.c @@ -1725,13 +1725,16 @@ static void nl80211_get_scanlist_ie(struct nlattr **bss, int ielen = nla_len(bss[NL80211_BSS_INFORMATION_ELEMENTS]); unsigned char *ie = nla_data(bss[NL80211_BSS_INFORMATION_ELEMENTS]); static unsigned char ms_oui[3] = { 0x00, 0x50, 0xf2 }; + int len; while (ielen >= 2 && ielen >= ie[1]) { switch (ie[0]) { case 0: /* SSID */ - memcpy(e->ssid, ie + 2, min(ie[1], IWINFO_ESSID_MAX_SIZE)); + len = min(ie[1], IWINFO_ESSID_MAX_SIZE); + memcpy(e->ssid, ie + 2, len); + e->ssid[len] = 0; break; case 48: /* RSN */ |