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 | 01a1423ce9e05cc57b7ff131d1a49d9a140df28b (patch) | |
tree | 1d96398998105d62bffdd3bf0804bc3a102f2dc2 /crypto | |
parent | 508f8d23a372beae647185ce896a0c1109406b83 (diff) | |
download | linux-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 '')
-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 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; |