We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent ca94b2b commit ecb9a84Copy full SHA for ecb9a84
net/bluetooth/sco.c
@@ -498,6 +498,13 @@ static void sco_sock_kill(struct sock *sk)
498
499
BT_DBG("sk %p state %d", sk, sk->sk_state);
500
501
+ /* Sock is dead, so set conn->sk to NULL to avoid possible UAF */
502
+ if (sco_pi(sk)->conn) {
503
+ sco_conn_lock(sco_pi(sk)->conn);
504
+ sco_pi(sk)->conn->sk = NULL;
505
+ sco_conn_unlock(sco_pi(sk)->conn);
506
+ }
507
+
508
/* Kill poor orphan */
509
bt_sock_unlink(&sco_sk_list, sk);
510
sock_set_flag(sk, SOCK_DEAD);
0 commit comments