[NETLINK]: Don't leak 'listeners' in netlink_kernel_create()
authorJesper Juhl <[email protected]>
Mon, 15 Oct 2007 08:39:12 +0000 (01:39 -0700)
committerDavid S. Miller <[email protected]>
Mon, 15 Oct 2007 19:26:32 +0000 (12:26 -0700)
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 <[email protected]>
Acked-by: "Eric W. Biederman" <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
net/netlink/af_netlink.c

index c776bcd9f8257b8008b968aec37c93d389d6854f..98e313e5e59440f0ed2b8283532cea179d267238 100644 (file)
@@ -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();