diff --git a/net/tipc/socket.c b/net/tipc/socket.c index 6a1e7ff667ad215caf3e80d9ae8b954db3cee0ba..f8a555def98f2f84935848ed3a265082e7c7dee4 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c @@ -453,6 +453,7 @@ static int tipc_sk_create(struct net *net, struct socket *sock, sock_init_data(sock, sk); tipc_set_sk_state(sk, TIPC_OPEN); if (tipc_sk_insert(tsk)) { + sk_free(sk); pr_warn("Socket create failed; port number exhausted\n"); return -EINVAL; }