diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2015-06-18 18:46:53 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-06-23 06:26:27 -0400 |
commit | d496f7842aada20c61e6044b3395383fa972872c (patch) | |
tree | aa1cc7e0b59bf22f572ac3fc3ebfc4be5c6af6fa /net/rose | |
parent | dfea2aa654243f70dc53b8648d0bbdeec55a7df1 (diff) |
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) | |||
192 | 192 | ||
193 | if (rose->device == dev) { | 193 | if (rose->device == dev) { |
194 | rose_disconnect(s, ENETUNREACH, ROSE_OUT_OF_ORDER, 0); | 194 | rose_disconnect(s, ENETUNREACH, ROSE_OUT_OF_ORDER, 0); |
195 | rose->neighbour->use--; | 195 | if (rose->neighbour) |
196 | rose->neighbour->use--; | ||
196 | rose->device = NULL; | 197 | rose->device = NULL; |
197 | } | 198 | } |
198 | } | 199 | } |