tipc: fix memory leak in tipc_accept_from_sock()
authorJon Maloy <jon.maloy@ericsson.com>
Mon, 4 Dec 2017 21:00:20 +0000 (22:00 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 Dec 2017 19:52:41 +0000 (14:52 -0500)
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>
net/tipc/server.c

index 2710101ba4c10bb9f268ff9ebb11aca34791ba3b..d60c303423275db5c0c7c45c9bf1a7d61987bf27 100644 (file)
@@ -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;
        }