mac80211: improve error checking if WEP fails to init
Do this by poisoning the values of wep_tx_tfm and wep_rx_tfm if either crypto allocation fails. Reported-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
48d5548fc5
commit
088c87262b
1 changed files with 4 additions and 1 deletions
|
@ -32,13 +32,16 @@ int ieee80211_wep_init(struct ieee80211_local *local)
|
|||
|
||||
local->wep_tx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0,
|
||||
CRYPTO_ALG_ASYNC);
|
||||
if (IS_ERR(local->wep_tx_tfm))
|
||||
if (IS_ERR(local->wep_tx_tfm)) {
|
||||
local->wep_rx_tfm = ERR_PTR(-EINVAL);
|
||||
return PTR_ERR(local->wep_tx_tfm);
|
||||
}
|
||||
|
||||
local->wep_rx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0,
|
||||
CRYPTO_ALG_ASYNC);
|
||||
if (IS_ERR(local->wep_rx_tfm)) {
|
||||
crypto_free_blkcipher(local->wep_tx_tfm);
|
||||
local->wep_tx_tfm = ERR_PTR(-EINVAL);
|
||||
return PTR_ERR(local->wep_rx_tfm);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue