summaryrefslogtreecommitdiff
path: root/crypto/xts.c
diff options
context:
space:
mode:
authorChristophe Jaillet <christophe.jaillet@wanadoo.fr>2017-09-26 08:17:44 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2017-10-07 12:04:31 +0800
commit01a1423ce9e05cc57b7ff131d1a49d9a140df28b (patch)
tree1d96398998105d62bffdd3bf0804bc3a102f2dc2 /crypto/xts.c
parent508f8d23a372beae647185ce896a0c1109406b83 (diff)
downloadlinux-crypto-01a1423ce9e05cc57b7ff131d1a49d9a140df28b.tar.gz
linux-crypto-01a1423ce9e05cc57b7ff131d1a49d9a140df28b.zip
crypto: xts - Fix an error handling path in 'create()'
All error handling paths 'goto err_drop_spawn' except this one. In order to avoid some resources leak, we should do it as well here. Fixes: 6c1314f521f2 ("crypto: xts - Convert to skcipher") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/xts.c')
-rw-r--r--crypto/xts.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/crypto/xts.c b/crypto/xts.c
index d86c11a8..e31828ed 100644
--- a/crypto/xts.c
+++ b/crypto/xts.c
@@ -554,8 +554,10 @@ static int create(struct crypto_template *tmpl, struct rtattr **tb)
ctx->name[len - 1] = 0;
if (snprintf(inst->alg.base.cra_name, CRYPTO_MAX_ALG_NAME,
- "xts(%s)", ctx->name) >= CRYPTO_MAX_ALG_NAME)
- return -ENAMETOOLONG;
+ "xts(%s)", ctx->name) >= CRYPTO_MAX_ALG_NAME) {
+ err = -ENAMETOOLONG;
+ goto err_drop_spawn;
+ }
} else
goto err_drop_spawn;