diff options
Diffstat (limited to 'net/tipc/udp_media.c')
| -rw-r--r-- | net/tipc/udp_media.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/net/tipc/udp_media.c b/net/tipc/udp_media.c index b016c011970b..ae7e14cae085 100644 --- a/net/tipc/udp_media.c +++ b/net/tipc/udp_media.c @@ -396,10 +396,13 @@ static int tipc_udp_enable(struct net *net, struct tipc_bearer *b,  	tuncfg.encap_destroy = NULL;  	setup_udp_tunnel_sock(net, ub->ubsock, &tuncfg); -	if (enable_mcast(ub, remote)) +	err = enable_mcast(ub, remote); +	if (err)  		goto err;  	return 0;  err: +	if (ub->ubsock) +		udp_tunnel_sock_release(ub->ubsock);  	kfree(ub);  	return err;  } |