summaryrefslogtreecommitdiffstats
path: root/crypto/hmac.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-06-06 13:10:49 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2019-06-06 13:10:49 -0700
commitae8766042beee814c9e16e9ae1e84cd6eaa7ffaa (patch)
tree8b1932b18bcfb1856b27e32d326d500ccaad218b /crypto/hmac.c
parent01047631df813f6247185547c3778c80af088a20 (diff)
parent7829a0c1cb9c80debfb4fdb49b4d90019f2ea1ac (diff)
downloadlinux-ae8766042beee814c9e16e9ae1e84cd6eaa7ffaa.tar.gz
linux-ae8766042beee814c9e16e9ae1e84cd6eaa7ffaa.tar.bz2
linux-ae8766042beee814c9e16e9ae1e84cd6eaa7ffaa.zip
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fixes from Herbert Xu: "This fixes a regression that breaks the jitterentropy RNG and a potential memory leak in hmac" * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: hmac - fix memory leak in hmac_init_tfm() crypto: jitterentropy - change back to module_init()
Diffstat (limited to 'crypto/hmac.c')
-rw-r--r--crypto/hmac.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/hmac.c b/crypto/hmac.c
index f03cb32147cc..8b2a212eb0ad 100644
--- a/crypto/hmac.c
+++ b/crypto/hmac.c
@@ -152,8 +152,10 @@ static int hmac_init_tfm(struct crypto_tfm *tfm)
parent->descsize = sizeof(struct shash_desc) +
crypto_shash_descsize(hash);
- if (WARN_ON(parent->descsize > HASH_MAX_DESCSIZE))
+ if (WARN_ON(parent->descsize > HASH_MAX_DESCSIZE)) {
+ crypto_free_shash(hash);
return -EINVAL;
+ }
ctx->hash = hash;
return 0;