Skip to content

Commit 7c4f78c

Browse files
ignatkkuba-moo
authored andcommitted
Bluetooth: L2CAP: do not leave dangling sk pointer on error in l2cap_sock_create()
bt_sock_alloc() allocates the sk object and attaches it to the provided sock object. On error l2cap_sock_alloc() frees the sk object, but the dangling pointer is still attached to the sock object, which may create use-after-free in other code. Signed-off-by: Ignat Korchagin <[email protected]> Reviewed-by: Kuniyuki Iwashima <[email protected]> Reviewed-by: Eric Dumazet <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 46f2a11 commit 7c4f78c

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

net/bluetooth/l2cap_sock.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1886,6 +1886,7 @@ static struct sock *l2cap_sock_alloc(struct net *net, struct socket *sock,
18861886
chan = l2cap_chan_create();
18871887
if (!chan) {
18881888
sk_free(sk);
1889+
sock->sk = NULL;
18891890
return NULL;
18901891
}
18911892

0 commit comments

Comments
 (0)