nl80211: Fix reading of the extended capabilities mask
authorLuciano Coelho <luciano.coelho@intel.com>
Mon, 19 Jan 2015 01:44:11 +0000 (20:44 -0500)
committerJouni Malinen <j@w1.fi>
Mon, 19 Jan 2015 23:57:59 +0000 (01:57 +0200)
We were copying the NL80211_ATTR_EXT_CAPA attribute into the
extended_capa_mask element, which is incorrect. Use
NL80211_ATTR_EXT_CAPA_MASK instead.

Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
src/drivers/driver_nl80211_capa.c

index 5c71603..6e52bde 100644 (file)
@@ -520,11 +520,11 @@ static int wiphy_info_handler(struct nl_msg *msg, void *arg)
                                nla_len(tb[NL80211_ATTR_EXT_CAPA]);
                }
                drv->extended_capa_mask =
-                       os_malloc(nla_len(tb[NL80211_ATTR_EXT_CAPA]));
+                       os_malloc(nla_len(tb[NL80211_ATTR_EXT_CAPA_MASK]));
                if (drv->extended_capa_mask) {
                        os_memcpy(drv->extended_capa_mask,
-                                 nla_data(tb[NL80211_ATTR_EXT_CAPA]),
-                                 nla_len(tb[NL80211_ATTR_EXT_CAPA]));
+                                 nla_data(tb[NL80211_ATTR_EXT_CAPA_MASK]),
+                                 nla_len(tb[NL80211_ATTR_EXT_CAPA_MASK]));
                } else {
                        os_free(drv->extended_capa);
                        drv->extended_capa = NULL;