It will kfree NULL pointer if listeners is NULL. fix it.
Signed-off-by: bookjovi@gmail.com
net/netlink/af_netlink.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 980fe4a..1c7bf48 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1532,8 +1532,10 @@ netlink_kernel_create(struct net *net, int
unit, unsigned int groups,
if (input)
nlk_sk(sk)->netlink_rcv = input;
- if (netlink_insert(sk, net, 0))
+ if (netlink_insert(sk, net, 0)) {
+ kfree(listeners);
goto out_sock_release;
+ }
nlk = nlk_sk(sk);
nlk->flags |= NETLINK_KERNEL_SOCKET;
@@ -1553,7 +1555,6 @@ netlink_kernel_create(struct net *net, int unit,
unsigned int groups,
return sk;
out_sock_release:
- kfree(listeners);
netlink_kernel_release(sk);
return NULL;
--