diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2015-06-19 00:46:53 +0200 |
---|---|---|
committer | Willy Tarreau <w@1wt.eu> | 2015-09-18 13:52:13 +0200 |
commit | 7b61d03d0469e6771280da41a638bfe9c7169129 (patch) | |
tree | 1f5a3cd44059203365e5ff38c257bdedad0c2600 /net | |
parent | c726e1d46177df427482b0b3e0f758083f83c50f (diff) |
NET: ROSE: Don't dereference NULL neighbour pointer.
commit d496f7842aada20c61e6044b3395383fa972872c upstream.
A ROSE socket doesn't necessarily always have a neighbour pointer so check
if the neighbour pointer is valid before dereferencing it.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Tested-by: Bernard Pidoux <f6bvp@free.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
(cherry picked from commit 8bbe4f448c01949084ef404eded3622086f052a6)
Signed-off-by: Willy Tarreau <w@1wt.eu>
Diffstat (limited to 'net')
-rw-r--r-- | net/rose/af_rose.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c index 7119ea634908..4457e9a04aca 100644 --- a/net/rose/af_rose.c +++ b/net/rose/af_rose.c @@ -194,7 +194,8 @@ static void rose_kill_by_device(struct net_device *dev) if (rose->device == dev) { rose_disconnect(s, ENETUNREACH, ROSE_OUT_OF_ORDER, 0); - rose->neighbour->use--; + if (rose->neighbour) + rose->neighbour->use--; rose->device = NULL; } } |