37 lines
1.1 KiB
Diff
37 lines
1.1 KiB
Diff
|
From 45e093ae2830cd1264677d47ff9a95a71f5d9f9c Mon Sep 17 00:00:00 2001
|
||
|
From: Richard Alpe <richard.alpe@ericsson.com>
|
||
|
Date: Mon, 16 May 2016 11:14:54 +0200
|
||
|
Subject: [PATCH] tipc: check nl sock before parsing nested attributes
|
||
|
|
||
|
Make sure the socket for which the user is listing publication exists
|
||
|
before parsing the socket netlink attributes.
|
||
|
|
||
|
Prior to this patch a call without any socket caused a NULL pointer
|
||
|
dereference in tipc_nl_publ_dump().
|
||
|
|
||
|
Tested-and-reported-by: Baozeng Ding <sploving1@gmail.com>
|
||
|
Signed-off-by: Richard Alpe <richard.alpe@ericsson.com>
|
||
|
Acked-by: Jon Maloy <jon.maloy@ericsson.cm>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
---
|
||
|
net/tipc/socket.c | 3 +++
|
||
|
1 file changed, 3 insertions(+)
|
||
|
|
||
|
diff --git a/net/tipc/socket.c b/net/tipc/socket.c
|
||
|
index 12628890c219..3b7a79991d55 100644
|
||
|
--- a/net/tipc/socket.c
|
||
|
+++ b/net/tipc/socket.c
|
||
|
@@ -2853,6 +2853,9 @@ int tipc_nl_publ_dump(struct sk_buff *skb, struct netlink_callback *cb)
|
||
|
if (err)
|
||
|
return err;
|
||
|
|
||
|
+ if (!attrs[TIPC_NLA_SOCK])
|
||
|
+ return -EINVAL;
|
||
|
+
|
||
|
err = nla_parse_nested(sock, TIPC_NLA_SOCK_MAX,
|
||
|
attrs[TIPC_NLA_SOCK],
|
||
|
tipc_nl_sock_policy);
|
||
|
--
|
||
|
2.5.5
|
||
|
|