The UDP msg2addr function tipc_udp_msg2addr() can return -EINVAL which
prior to this patch was unhanded in the caller.

Signed-off-by: Richard Alpe <[email protected]>
Acked-by: Jon Maloy <[email protected]>
Acked-by: Ying Xue <[email protected]>
---
 net/tipc/discover.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/net/tipc/discover.c b/net/tipc/discover.c
index ad9d477..6b109a8 100644
--- a/net/tipc/discover.c
+++ b/net/tipc/discover.c
@@ -135,9 +135,12 @@ void tipc_disc_rcv(struct net *net, struct sk_buff *skb,
        u16 caps = msg_node_capabilities(hdr);
        bool respond = false;
        bool dupl_addr = false;
+       int err;
 
-       bearer->media->msg2addr(bearer, &maddr, msg_media_addr(hdr));
+       err = bearer->media->msg2addr(bearer, &maddr, msg_media_addr(hdr));
        kfree_skb(skb);
+       if (err)
+               return;
 
        /* Ensure message from node is valid and communication is permitted */
        if (net_id != tn->net_id)
-- 
2.1.4

Reply via email to