Bluetooth: Fix socket not getting freed if l2cap channel create fails
authorJaganath Kanakkassery <jaganath.k@samsung.com>
Thu, 19 Jul 2012 07:24:04 +0000 (12:54 +0530)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Mon, 6 Aug 2012 18:19:37 +0000 (15:19 -0300)
If l2cap_chan_create() fails then it will return from l2cap_sock_kill
since zapped flag of sk is reset.

Signed-off-by: Jaganath Kanakkassery <jaganath.k@samsung.com>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
net/bluetooth/l2cap_sock.c

index a4bb27e8427e9aabaa48b90727cb23bcf5568f96..b94abd30e6f948a4ebe0a72fef5a157eb24d40fb 100644 (file)
@@ -1174,7 +1174,7 @@ static struct sock *l2cap_sock_alloc(struct net *net, struct socket *sock, int p
 
        chan = l2cap_chan_create();
        if (!chan) {
-               l2cap_sock_kill(sk);
+               sk_free(sk);
                return NULL;
        }