aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/aes_ccm.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/aes_ccm.c')
-rw-r--r--net/mac80211/aes_ccm.c12
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
96free_aead:
93 crypto_free_aead(tfm); 97 crypto_free_aead(tfm);
94 return ERR_PTR(err); 98 return ERR_PTR(err);
95} 99}