瀏覽代碼

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>
Jon Maloy 7 年之前
父節點
當前提交
a7d5f107b4
共有 1 個文件被更改,包括 1 次插入0 次删除
  1. 1 0
      net/tipc/server.c

+ 1 - 0
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);
 	newcon->usr_data = s->tipc_conn_new(newcon->conid);
 	if (!newcon->usr_data) {
 	if (!newcon->usr_data) {
 		sock_release(newsock);
 		sock_release(newsock);
+		conn_put(newcon);
 		return -ENOMEM;
 		return -ENOMEM;
 	}
 	}