tipc: fix the error handling in tipc_udp_enable()

Fix to return a negative error code in enable_mcast() error handling
case, and release udp socket when necessary.

Fixes: d0f91938be ("tipc: add ip/udp media type")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Wei Yongjun 2016-08-24 13:32:19 +00:00 committed by David S. Miller
parent 51af96b534
commit a5de125dd4
1 changed files with 4 additions and 1 deletions

View File

@ -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;
}