Commit e9d126cd authored by Dan Carpenter's avatar Dan Carpenter Committed by John W. Linville

ar9170: fix read & write outside array bounds

queue == __AR9170_NUM_TXQ would cause a bug on the next line.

found by Smatch ( http://repo.or.cz/w/smatch.git ).

Cc: stable@kernel.org
Reported-by: default avatarDan Carpenter <error27@gmail.com>
Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
Signed-off-by: default avatarChristian Lamparter <chunkeey@web.de>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 363ec561
...@@ -1967,13 +1967,14 @@ static int ar9170_conf_tx(struct ieee80211_hw *hw, u16 queue, ...@@ -1967,13 +1967,14 @@ static int ar9170_conf_tx(struct ieee80211_hw *hw, u16 queue,
int ret; int ret;
mutex_lock(&ar->mutex); mutex_lock(&ar->mutex);
if ((param) && !(queue > __AR9170_NUM_TXQ)) { if (queue < __AR9170_NUM_TXQ) {
memcpy(&ar->edcf[ar9170_qos_hwmap[queue]], memcpy(&ar->edcf[ar9170_qos_hwmap[queue]],
param, sizeof(*param)); param, sizeof(*param));
ret = ar9170_set_qos(ar); ret = ar9170_set_qos(ar);
} else } else {
ret = -EINVAL; ret = -EINVAL;
}
mutex_unlock(&ar->mutex); mutex_unlock(&ar->mutex);
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment