libiwinfo: clear buffer in nl80211_ifname2phy(), prevents running operations against...
[project/luci.git] / contrib / package / iwinfo / src / iwinfo_nl80211.c
index da8d5bb..83665cc 100644 (file)
@@ -298,6 +298,8 @@ static char * nl80211_ifname2phy(const char *ifname)
        static char phy[32] = { 0 };
        struct nl80211_msg_conveyor *req;
 
+       memset(phy, 0, sizeof(phy));
+
        req = nl80211_msg(ifname, NL80211_CMD_GET_WIPHY, 0);
        if (req)
        {
@@ -452,6 +454,8 @@ static char * nl80211_phy2ifname(const char *ifname)
        else if (!strncmp(ifname, "radio", 5))
                phyidx = atoi(&ifname[5]);
 
+       memset(nif, 0, sizeof(nif));
+
        if (phyidx > -1)
        {
                if ((d = opendir("/sys/class/net")) != NULL)
@@ -1028,7 +1032,7 @@ int nl80211_get_encryption(const char *ifname, char *buf)
                }
 
                c->group_ciphers = c->pair_ciphers;
-               c->enabled = (c->auth_algs || c->auth_suites) ? 1 : 0;
+               c->enabled = (c->wpa_version || c->pair_ciphers) ? 1 : 0;
 
                return 0;
        }