]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - net/mac80211/aes_ccm.c
mac80111: aes_ccm: cleanup ieee80211_aes_key_setup_encrypt()
[karo-tx-linux.git] / net / mac80211 / aes_ccm.c
index 7869bb40acaa1acbe60763493a738bf32812bb34..208df7c0b6eaf432343e83aef3914f26a66f251e 100644 (file)
@@ -85,11 +85,15 @@ struct crypto_aead *ieee80211_aes_key_setup_encrypt(const u8 key[],
                return tfm;
 
        err = crypto_aead_setkey(tfm, key, key_len);
-       if (!err)
-               err = crypto_aead_setauthsize(tfm, mic_len);
-       if (!err)
-               return tfm;
+       if (err)
+               goto free_aead;
+       err = crypto_aead_setauthsize(tfm, mic_len);
+       if (err)
+               goto free_aead;
+
+       return tfm;
 
+free_aead:
        crypto_free_aead(tfm);
        return ERR_PTR(err);
 }