diff options
author | Jon Maloy <jon.maloy@ericsson.com> | 2017-12-04 22:00:20 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-12-05 20:52:41 +0100 |
commit | a7d5f107b4978e08eeab599ee7449af34d034053 (patch) | |
tree | 7eea9f2bf7169a373ef0c4a69d5a410d051e5a51 /net | |
parent | tipc: fix a null pointer deref on error path (diff) | |
download | linux-a7d5f107b4978e08eeab599ee7449af34d034053.tar.xz linux-a7d5f107b4978e08eeab599ee7449af34d034053.zip |
tipc: fix memory leak in tipc_accept_from_sock()
When the function tipc_accept_from_sock() fails to create an instance of
struct tipc_subscriber it omits to free the already created instance of
struct tipc_conn instance before it returns.
We fix that with this commit.
Reported-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/tipc/server.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/tipc/server.c b/net/tipc/server.c index 2710101ba4c1..d60c30342327 100644 --- a/net/tipc/server.c +++ b/net/tipc/server.c @@ -314,6 +314,7 @@ static int tipc_accept_from_sock(struct tipc_conn *con) newcon->usr_data = s->tipc_conn_new(newcon->conid); if (!newcon->usr_data) { sock_release(newsock); + conn_put(newcon); return -ENOMEM; } |