OSDN Git Service

net: tipc: fix a missing check for nla_nest_start
authorKangjie Lu <kjlu@umn.edu>
Sat, 16 Mar 2019 21:46:05 +0000 (16:46 -0500)
committerDavid S. Miller <davem@davemloft.net>
Sun, 17 Mar 2019 01:19:49 +0000 (18:19 -0700)
nla_nest_start may fail. The fix check its status and returns
-EMSGSIZE in case it fails.

Signed-off-by: Kangjie Lu <kjlu@umn.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/socket.c

index 3274ef6..d6b2686 100644 (file)
@@ -3255,6 +3255,8 @@ static int __tipc_nl_add_sk_con(struct sk_buff *skb, struct tipc_sock *tsk)
        peer_port = tsk_peer_port(tsk);
 
        nest = nla_nest_start(skb, TIPC_NLA_SOCK_CON);
+       if (!nest)
+               return -EMSGSIZE;
 
        if (nla_put_u32(skb, TIPC_NLA_CON_NODE, peer_node))
                goto msg_full;