]> git.hungrycats.org Git - linux/commitdiff
mwifiex: fix potential out-of-boundary access to ibss rate table
authorBing Zhao <bzhao@marvell.com>
Fri, 8 Mar 2013 04:00:16 +0000 (20:00 -0800)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 27 Mar 2013 02:41:01 +0000 (02:41 +0000)
commit 5f0fabf84d7b52f979dcbafa3d3c530c60d9a92c upstream.

smatch found this error:

CHECK   drivers/net/wireless/mwifiex/join.c
  drivers/net/wireless/mwifiex/join.c:1121
  mwifiex_cmd_802_11_ad_hoc_join()
  error: testing array offset 'i' after use.

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/wireless/mwifiex/join.c

index 62b4c2938608d67873d66afb8be9e288247820b9..d48dfb73bb42daf627d65932db30d13f480297ef 100644 (file)
@@ -1062,10 +1062,9 @@ mwifiex_cmd_802_11_ad_hoc_join(struct mwifiex_private *priv,
                                adhoc_join->bss_descriptor.bssid,
                                adhoc_join->bss_descriptor.ssid);
 
-       for (i = 0; bss_desc->supported_rates[i] &&
-                       i < MWIFIEX_SUPPORTED_RATES;
-                       i++)
-                       ;
+       for (i = 0; i < MWIFIEX_SUPPORTED_RATES &&
+                   bss_desc->supported_rates[i]; i++)
+               ;
        rates_size = i;
 
        /* Copy Data Rates from the Rates recorded in scan response */