nl80211: Fix sizeof check in vendor command/event handling
authorMax Stepanov <Max.Stepanov@intel.com>
Wed, 22 Jan 2014 14:05:47 +0000 (16:05 +0200)
committerJouni Malinen <j@w1.fi>
Wed, 22 Jan 2014 17:30:20 +0000 (19:30 +0200)
Fix sizeof in a validity comparison of nl80211_vendor_cmd_info size. The
incorrect version happened to work on 64-bit builds due the structure
being eight octets, but this was incorrect and would not used with
32-bit builds.

Signed-hostap: Max Stepanov <Max.Stepanov@intel.com>

src/drivers/driver_nl80211.c

index 0b8eed5..e648486 100644 (file)
@@ -3584,7 +3584,7 @@ static int wiphy_info_handler(struct nl_msg *msg, void *arg)
 
                nla_for_each_nested(nl, tb[NL80211_ATTR_VENDOR_DATA], rem) {
                        struct nl80211_vendor_cmd_info *vinfo;
-                       if (nla_len(nl) != sizeof(vinfo)) {
+                       if (nla_len(nl) != sizeof(*vinfo)) {
                                wpa_printf(MSG_DEBUG, "nl80211: Unexpected vendor data info");
                                continue;
                        }
@@ -3600,7 +3600,7 @@ static int wiphy_info_handler(struct nl_msg *msg, void *arg)
 
                nla_for_each_nested(nl, tb[NL80211_ATTR_VENDOR_EVENTS], rem) {
                        struct nl80211_vendor_cmd_info *vinfo;
-                       if (nla_len(nl) != sizeof(vinfo)) {
+                       if (nla_len(nl) != sizeof(*vinfo)) {
                                wpa_printf(MSG_DEBUG, "nl80211: Unexpected vendor data info");
                                continue;
                        }