OSDN Git Service

tipc: fix a missing check of genlmsg_put
authorKangjie Lu <kjlu@umn.edu>
Wed, 26 Dec 2018 06:09:04 +0000 (00:09 -0600)
committerDavid S. Miller <davem@davemloft.net>
Fri, 28 Dec 2018 00:26:09 +0000 (16:26 -0800)
genlmsg_put could fail. The fix inserts a check of its return value, and
if it fails, returns -EMSGSIZE.

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

index 21f6ccc..40f5cae 100644 (file)
@@ -904,6 +904,8 @@ static int tipc_nl_compat_publ_dump(struct tipc_nl_compat_msg *msg, u32 sock)
 
        hdr = genlmsg_put(args, 0, 0, &tipc_genl_family, NLM_F_MULTI,
                          TIPC_NL_PUBL_GET);
+       if (!hdr)
+               return -EMSGSIZE;
 
        nest = nla_nest_start(args, TIPC_NLA_SOCK);
        if (!nest) {