can: add missing socket check in can/raw release

v2: added space after 'if' according code style.

We can get here with a NULL socket argument passed from userspace,
so we need to handle it accordingly.

Thanks to Dave Jones pointing at this issue in net/can/bcm.c

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Oliver Hartkopp 2011-04-20 01:57:15 +00:00 коммит произвёл David S. Miller
Родитель 2430af8b7f
Коммит 10022a6c66
1 изменённых файлов: 6 добавлений и 1 удалений

Просмотреть файл

@ -305,7 +305,12 @@ static int raw_init(struct sock *sk)
static int raw_release(struct socket *sock) static int raw_release(struct socket *sock)
{ {
struct sock *sk = sock->sk; struct sock *sk = sock->sk;
struct raw_sock *ro = raw_sk(sk); struct raw_sock *ro;
if (!sk)
return 0;
ro = raw_sk(sk);
unregister_netdevice_notifier(&ro->notifier); unregister_netdevice_notifier(&ro->notifier);