From: Wei Yongjun <weiyongj...@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 <weiyongj...@huawei.com>
---
 net/tipc/udp_media.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

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,

Reply via email to