crypto: user - fix memory leak in crypto_report

commit ffdde5932042600c6807d46c1550b28b0db6a3bc upstream.

In crypto_report, a new skb is created via nlmsg_new(). This skb should
be released if crypto_report_alg() fails.

Fixes: a38f7907b9 ("crypto: Add userspace configuration API")
Cc: <stable@vger.kernel.org>
Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Navid Emamdoost 2019-10-04 14:29:16 -05:00 committed by Greg Kroah-Hartman
parent cdaeaea6aa
commit 351a567ebf

View file

@ -288,8 +288,10 @@ static int crypto_report(struct sk_buff *in_skb, struct nlmsghdr *in_nlh,
drop_alg: drop_alg:
crypto_mod_put(alg); crypto_mod_put(alg);
if (err) if (err) {
kfree_skb(skb);
return err; return err;
}
return nlmsg_unicast(crypto_nlsk, skb, NETLINK_CB(in_skb).portid); return nlmsg_unicast(crypto_nlsk, skb, NETLINK_CB(in_skb).portid);
} }