summaryrefslogtreecommitdiffstats
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
commit5125e4e867ab888f2d4b443a1ce463adefb370db (patch)
treeeb5749a57fcbce511b034c08f1b3ba1075d3241a
parent532f419cde077ffe9616c97902af177fbb868b17 (diff)
downloadlinux-5125e4e867ab888f2d4b443a1ce463adefb370db.tar.gz
linux-5125e4e867ab888f2d4b443a1ce463adefb370db.tar.bz2
linux-5125e4e867ab888f2d4b443a1ce463adefb370db.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: f1c131b45410 ("crypto: xts - Convert to skcipher") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--crypto/xts.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/crypto/xts.c b/crypto/xts.c
index d86c11a8c882..e31828ed0046 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;