summaryrefslogtreecommitdiffstats
path: root/net/netlink
diff options
context:
space:
mode:
authorJesper Juhl <jesper.juhl@gmail.com>2007-10-15 01:39:12 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-15 12:26:32 -0700
commitf937f1f46b6d2f9bef94e0d6b769a4c67615d34e (patch)
tree4aadb89d07e7bb0789d5a754e65db686f339f07c /net/netlink
parent1dff92e09eb3adfcf3d3dffd0507b850f911f280 (diff)
downloadkernel-crypto-f937f1f46b6d2f9bef94e0d6b769a4c67615d34e.tar.gz
kernel-crypto-f937f1f46b6d2f9bef94e0d6b769a4c67615d34e.tar.xz
kernel-crypto-f937f1f46b6d2f9bef94e0d6b769a4c67615d34e.zip
[NETLINK]: Don't leak 'listeners' in netlink_kernel_create()
The Coverity checker spotted that we'll leak the storage allocated to 'listeners' in netlink_kernel_create() when the if (!nl_table[unit].registered) check is false. This patch avoids the leak. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Acked-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netlink')
-rw-r--r--net/netlink/af_netlink.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index c776bcd9f82..98e313e5e59 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1378,6 +1378,8 @@ netlink_kernel_create(struct net *net, int unit, unsigned int groups,
nl_table[unit].cb_mutex = cb_mutex;
nl_table[unit].module = module;
nl_table[unit].registered = 1;
+ } else {
+ kfree(listeners);
}
netlink_table_ungrab();