net/netlink_compat: Fix a missing check of nla_parse_nested
authorAditya Pakki <pakki001@umn.edu>
Mon, 24 Dec 2018 00:54:53 +0000 (18:54 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2019 14:37:48 +0000 (15:37 +0100)
[ Upstream commit 89dfd0083751d00d5d7ead36f6d8b045bf89c5e1 ]

In tipc_nl_compat_sk_dump(), if nla_parse_nested() fails, it could return
an error. To be consistent with other invocations of the function call,
on error, the fix passes the return value upstream.

Signed-off-by: Aditya Pakki <pakki001@umn.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/tipc/netlink_compat.c

index ad4dcc663c6de4ea1545c8fabdea00324fd29522..1c8ac0c11008c753729c768ab42ef9c4074facdc 100644 (file)
@@ -1021,8 +1021,11 @@ static int tipc_nl_compat_sk_dump(struct tipc_nl_compat_msg *msg,
                u32 node;
                struct nlattr *con[TIPC_NLA_CON_MAX + 1];
 
-               nla_parse_nested(con, TIPC_NLA_CON_MAX,
-                                sock[TIPC_NLA_SOCK_CON], NULL, NULL);
+               err = nla_parse_nested(con, TIPC_NLA_CON_MAX,
+                                      sock[TIPC_NLA_SOCK_CON], NULL, NULL);
+
+               if (err)
+                       return err;
 
                node = nla_get_u32(con[TIPC_NLA_CON_NODE]);
                tipc_tlv_sprintf(msg->rep, "  connected to <%u.%u.%u:%u>",