diff options
author | Richard Alpe <richard.alpe@ericsson.com> | 2016-06-27 13:34:06 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-06-29 05:17:37 -0400 |
commit | e99429232e3622a7e390c3b540c4971b1ccf75c8 (patch) | |
tree | 0ee8ecb57dc5424e87cbda0c02c651f5b1dfd9c9 /net/tipc/discover.c | |
parent | 8a01ed70ebe4ddf37a759e8e9b4e8e71fb26b47c (diff) | |
download | linux-e99429232e3622a7e390c3b540c4971b1ccf75c8.tar.gz linux-e99429232e3622a7e390c3b540c4971b1ccf75c8.tar.xz |
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 <richard.alpe@ericsson.com>
Acked-by: Jon Maloy <jon.maloy@ericsson.com>
Acked-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/discover.c')
-rw-r--r-- | net/tipc/discover.c | 5 |
1 files changed, 4 insertions, 1 deletions
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) |