aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWei Yongjun <weiyongjun1@huawei.com>2016-09-09 20:56:55 -0400
committerDavid S. Miller <davem@davemloft.net>2016-09-13 11:28:32 -0400
commitc20cb8119337052a84e40cba94af732d870e22e3 (patch)
tree855cbc716892fc388be6b6d38e2fe357108cd068
parent308433155a67cb097142292c8943e0aa8d1a1c79 (diff)
tipc: fix possible memory leak in tipc_udp_enable()
'ub' is malloced in tipc_udp_enable() and should be freed before leaving from the error handling cases, otherwise it will cause memory leak. Fixes: ba5aa84a2d22 ("tipc: split UDP nl address parsing") Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/tipc/udp_media.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/tipc/udp_media.c b/net/tipc/udp_media.c
index dd274687a53d..d80cd3f7503f 100644
--- a/net/tipc/udp_media.c
+++ b/net/tipc/udp_media.c
@@ -665,7 +665,8 @@ static int tipc_udp_enable(struct net *net, struct tipc_bearer *b,
665 665
666 if (!opts[TIPC_NLA_UDP_LOCAL] || !opts[TIPC_NLA_UDP_REMOTE]) { 666 if (!opts[TIPC_NLA_UDP_LOCAL] || !opts[TIPC_NLA_UDP_REMOTE]) {
667 pr_err("Invalid UDP bearer configuration"); 667 pr_err("Invalid UDP bearer configuration");
668 return -EINVAL; 668 err = -EINVAL;
669 goto err;
669 } 670 }
670 671
671 err = tipc_parse_udp_addr(opts[TIPC_NLA_UDP_LOCAL], &local, 672 err = tipc_parse_udp_addr(opts[TIPC_NLA_UDP_LOCAL], &local,