NFC: Fix possible NULL ptr deref when getting the name of a socket
authorSasha Levin <levinsasha928@gmail.com>
Wed, 6 Jun 2012 21:02:55 +0000 (23:02 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 8 Jun 2012 17:47:07 +0000 (13:47 -0400)
llcp_sock_getname() might get called before the LLCP socket was created.
This condition isn't checked, and llcp_sock_getname will simply deref a
NULL ptr in that case.

This exists starting with d646960 ("NFC: Initial LLCP support").

Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/nfc/llcp/sock.c

index 3f339b19d140d666328b5dfd462f5d27bafb94d5..17a707db40eb9865000cd073d3661fef1d1ced13 100644 (file)
@@ -292,6 +292,9 @@ static int llcp_sock_getname(struct socket *sock, struct sockaddr *addr,
 
        pr_debug("%p\n", sk);
 
+       if (llcp_sock == NULL)
+               return -EBADFD;
+
        addr->sa_family = AF_NFC;
        *len = sizeof(struct sockaddr_nfc_llcp);