]> git.ipfire.org Git - thirdparty/iw.git/commitdiff
fix scan segfault when IFINDEX attribute isn't present
authorJohannes Berg <johannes.berg@intel.com>
Thu, 18 Apr 2013 22:48:16 +0000 (00:48 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 18 Apr 2013 22:48:16 +0000 (00:48 +0200)
scan.c

diff --git a/scan.c b/scan.c
index 2188166e8bde82819e7150266d9211a462b1de26..dfb78c03d33507d8d678c046658b540743519b89 100644 (file)
--- a/scan.c
+++ b/scan.c
@@ -1339,8 +1339,11 @@ static int print_bss_handler(struct nl_msg *msg, void *arg)
                return NL_SKIP;
 
        mac_addr_n2a(mac_addr, nla_data(bss[NL80211_BSS_BSSID]));
-       if_indextoname(nla_get_u32(tb[NL80211_ATTR_IFINDEX]), dev);
-       printf("BSS %s (on %s)", mac_addr, dev);
+       printf("BSS %s", mac_addr);
+       if (tb[NL80211_ATTR_IFINDEX]) {
+               if_indextoname(nla_get_u32(tb[NL80211_ATTR_IFINDEX]), dev);
+               printf("(on %s)", dev);
+       }
 
        if (bss[NL80211_BSS_STATUS]) {
                switch (nla_get_u32(bss[NL80211_BSS_STATUS])) {