diff mbox

[-next] tipc: fix possible memory leak in tipc_udp_enable()

Message ID 1473469015-6180-1-git-send-email-weiyj.lk@gmail.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Wei Yongjun Sept. 10, 2016, 12:56 a.m. UTC
From: Wei Yongjun <weiyongjun1@huawei.com>

'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>
---
 net/tipc/udp_media.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

David Miller Sept. 13, 2016, 3:29 p.m. UTC | #1
From: Wei Yongjun <weiyj.lk@gmail.com>
Date: Sat, 10 Sep 2016 00:56:55 +0000

> From: Wei Yongjun <weiyongjun1@huawei.com>
> 
> '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>

Applied, thanks.
diff mbox

Patch

diff --git a/net/tipc/udp_media.c b/net/tipc/udp_media.c
index dd27468..d80cd3f 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,
 
 	if (!opts[TIPC_NLA_UDP_LOCAL] || !opts[TIPC_NLA_UDP_REMOTE]) {
 		pr_err("Invalid UDP bearer configuration");
-		return -EINVAL;
+		err = -EINVAL;
+		goto err;
 	}
 
 	err = tipc_parse_udp_addr(opts[TIPC_NLA_UDP_LOCAL], &local,