summaryrefslogtreecommitdiff
path: root/crypto/lrw.c
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@mbnet.fi>2011-10-18 13:32:14 +0300
committerHerbert Xu <herbert@gondor.apana.org.au>2011-11-09 11:43:00 +0800
commitb884f8b901b968b90d8d1b82d388583fa1b2605d (patch)
treea563f7e65847dce4e971aa525b6fd3cd0c787adf /crypto/lrw.c
parentdd6eec242bb2df73743f07535d2bacd6707c6300 (diff)
downloadlwn-b884f8b901b968b90d8d1b82d388583fa1b2605d.tar.gz
lwn-b884f8b901b968b90d8d1b82d388583fa1b2605d.zip
crypto: lrw - fix memleak
LRW module leaks child cipher memory when init_tfm() fails because of child block size not being 16. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/lrw.c')
-rw-r--r--crypto/lrw.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/crypto/lrw.c b/crypto/lrw.c
index 358f80be2bf9..fca3246a953f 100644
--- a/crypto/lrw.c
+++ b/crypto/lrw.c
@@ -220,6 +220,7 @@ static int init_tfm(struct crypto_tfm *tfm)
if (crypto_cipher_blocksize(cipher) != 16) {
*flags |= CRYPTO_TFM_RES_BAD_BLOCK_LEN;
+ crypto_free_cipher(cipher);
return -EINVAL;
}