NET: ROSE: Don't dereference NULL neighbour pointer.
authorRalf Baechle <ralf@linux-mips.org>
Thu, 18 Jun 2015 22:46:53 +0000 (00:46 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 23 Jun 2015 10:26:27 +0000 (03:26 -0700)
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>
net/rose/af_rose.c

index 8ae603069a1a1706982dc0b7affd5443cb912308..dd304bc40788d5001820530842db936201965fb6 100644 (file)
@@ -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;
                }
        }