diff options
Diffstat (limited to 'net/mac80211/aes_ccm.c')
| -rw-r--r-- | net/mac80211/aes_ccm.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/net/mac80211/aes_ccm.c b/net/mac80211/aes_ccm.c index 7869bb40acaa..208df7c0b6ea 100644 --- a/net/mac80211/aes_ccm.c +++ b/net/mac80211/aes_ccm.c | |||
| @@ -85,11 +85,15 @@ struct crypto_aead *ieee80211_aes_key_setup_encrypt(const u8 key[], | |||
| 85 | return tfm; | 85 | return tfm; |
| 86 | 86 | ||
| 87 | err = crypto_aead_setkey(tfm, key, key_len); | 87 | err = crypto_aead_setkey(tfm, key, key_len); |
| 88 | if (!err) | 88 | if (err) |
| 89 | err = crypto_aead_setauthsize(tfm, mic_len); | 89 | goto free_aead; |
| 90 | if (!err) | 90 | err = crypto_aead_setauthsize(tfm, mic_len); |
| 91 | return tfm; | 91 | if (err) |
| 92 | goto free_aead; | ||
| 93 | |||
| 94 | return tfm; | ||
| 92 | 95 | ||
| 96 | free_aead: | ||
| 93 | crypto_free_aead(tfm); | 97 | crypto_free_aead(tfm); |
| 94 | return ERR_PTR(err); | 98 | return ERR_PTR(err); |
| 95 | } | 99 | } |
