From: Richard Alpe Date: Mon, 27 Jun 2016 11:34:06 +0000 (+0200) Subject: tipc: honor msg2addr return value X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=e99429232e3622a7e390c3b540c4971b1ccf75c8;p=openwrt%2Fstaging%2Fblogic.git tipc: honor msg2addr return value 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 Acked-by: Jon Maloy Acked-by: Ying Xue Signed-off-by: David S. Miller --- diff --git a/net/tipc/discover.c b/net/tipc/discover.c index ad9d477cc242..6b109a808d4c 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)