diff options
author | Christophe Jaillet <christophe.jaillet@wanadoo.fr> | 2017-09-26 08:17:44 +0200 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2017-10-07 12:04:31 +0800 |
commit | 5125e4e867ab888f2d4b443a1ce463adefb370db (patch) | |
tree | eb5749a57fcbce511b034c08f1b3ba1075d3241a /crypto/xts.c | |
parent | 532f419cde077ffe9616c97902af177fbb868b17 (diff) | |
download | linux-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>
Diffstat (limited to 'crypto/xts.c')
-rw-r--r-- | crypto/xts.c | 6 |
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; |