projects
/
openwrt
/
staging
/
linusw.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8f8dc09
)
iwinfo: null-terminate the ssid on nl80211 scan to avoid printing trailing garbage
author
Felix Fietkau
<nbd@openwrt.org>
Fri, 30 May 2014 11:37:35 +0000
(11:37 +0000)
committer
Felix Fietkau
<nbd@openwrt.org>
Fri, 30 May 2014 11:37:35 +0000
(11:37 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 40884
package/network/utils/iwinfo/src/iwinfo_nl80211.c
patch
|
blob
|
history
diff --git
a/package/network/utils/iwinfo/src/iwinfo_nl80211.c
b/package/network/utils/iwinfo/src/iwinfo_nl80211.c
index 4d0444a7aa0bb2e071f1d021a277218048ba2abd..8e585892d7f855271aced357cd9779a99e1dae5b 100644
(file)
--- 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 */