diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2015-06-19 00:46:53 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-06-23 03:26:27 -0700 |
commit | d496f7842aada20c61e6044b3395383fa972872c (patch) | |
tree | aa1cc7e0b59bf22f572ac3fc3ebfc4be5c6af6fa /net/rose | |
parent | dfea2aa654243f70dc53b8648d0bbdeec55a7df1 (diff) | |
download | lwn-d496f7842aada20c61e6044b3395383fa972872c.tar.gz lwn-d496f7842aada20c61e6044b3395383fa972872c.zip |
NET: ROSE: Don't dereference NULL neighbour pointer.
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>
Cc: stable@vger.kernel.org #2.6.11+
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rose')
-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 8ae603069a1a..dd304bc40788 100644 --- a/net/rose/af_rose.c +++ b/net/rose/af_rose.c @@ -192,7 +192,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; } } |