diff options
author | Colin Ian King <colin.king@canonical.com> | 2013-03-26 17:35:23 +0000 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-03-27 11:07:05 -0400 |
commit | ace5af39866da7d45f43774150dace19a73716d6 (patch) | |
tree | ecf729c4259b96a37fa3b98024076e76e9f88ab8 | |
parent | 7fc0357479eeff4ca808c4d8c09bc7631f576b8d (diff) | |
download | linux-3.10-ace5af39866da7d45f43774150dace19a73716d6.tar.gz linux-3.10-ace5af39866da7d45f43774150dace19a73716d6.tar.bz2 linux-3.10-ace5af39866da7d45f43774150dace19a73716d6.zip |
iwlegacy: 4965-rs: avoid null pointer dereference error
il4965_rs_initialize_lq checks to see if sta is null, however, before that
check il4965_rs_use_green dereferences sta when intializing use_green.
Avoid a potential null pointer dereference error by only calling
il4965_rs_use_green after we are sure sta is not null.
Smatch analysis:
drivers/net/wireless/iwlegacy/4965-rs.c:2160 il4965_rs_initialize_lq() warn:
variable dereferenced before check 'sta' (see line 2155)
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/iwlegacy/4965-rs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlegacy/4965-rs.c b/drivers/net/wireless/iwlegacy/4965-rs.c index e8324b5e5bf..6c7493c2d69 100644 --- a/drivers/net/wireless/iwlegacy/4965-rs.c +++ b/drivers/net/wireless/iwlegacy/4965-rs.c @@ -2152,7 +2152,7 @@ il4965_rs_initialize_lq(struct il_priv *il, struct ieee80211_conf *conf, int rate_idx; int i; u32 rate; - u8 use_green = il4965_rs_use_green(il, sta); + u8 use_green; u8 active_tbl = 0; u8 valid_tx_ant; struct il_station_priv *sta_priv; @@ -2160,6 +2160,7 @@ il4965_rs_initialize_lq(struct il_priv *il, struct ieee80211_conf *conf, if (!sta || !lq_sta) return; + use_green = il4965_rs_use_green(il, sta); sta_priv = (void *)sta->drv_priv; i = lq_sta->last_txrate_idx; |