ax25: Fix possible oops in ax25_make_new
In ax25_make_new, if kmemdup of digipeat returns an error, there would be an oops in sk_free while calling sk_destruct, because sk_protinfo is NULL at the moment; move sk->sk_destruct initialization after this. BTW of reported-by: Bernard Pidoux F6BVP <f6bvp@free.fr> Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
81bbb3d404
Коммит
8c185ab618
|
@ -901,7 +901,6 @@ struct sock *ax25_make_new(struct sock *osk, struct ax25_dev *ax25_dev)
|
|||
|
||||
sock_init_data(NULL, sk);
|
||||
|
||||
sk->sk_destruct = ax25_free_sock;
|
||||
sk->sk_type = osk->sk_type;
|
||||
sk->sk_priority = osk->sk_priority;
|
||||
sk->sk_protocol = osk->sk_protocol;
|
||||
|
@ -939,6 +938,7 @@ struct sock *ax25_make_new(struct sock *osk, struct ax25_dev *ax25_dev)
|
|||
}
|
||||
|
||||
sk->sk_protinfo = ax25;
|
||||
sk->sk_destruct = ax25_free_sock;
|
||||
ax25->sk = sk;
|
||||
|
||||
return sk;
|
||||
|
|
Загрузка…
Ссылка в новой задаче