summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2012-07-05 17:43:08 +0200
committerJohn W. Linville <linville@tuxdriver.com>2012-07-09 16:42:25 -0400
commitfe3c094abc2365a226184554501fe0df87fe8271 (patch)
tree3ea791d11ba5b992f53ea492967becfab7024686
parent01d719a2287ec34f631800d10f1fad3c134c3e89 (diff)
downloadlinux-stable-fe3c094abc2365a226184554501fe0df87fe8271.tar.gz
linux-stable-fe3c094abc2365a226184554501fe0df87fe8271.tar.bz2
linux-stable-fe3c094abc2365a226184554501fe0df87fe8271.zip
NFC: Check for llcp_sock and its device from llcp_sock_getname
They both can potentially be NULL. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
-rw-r--r--net/nfc/llcp/sock.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/nfc/llcp/sock.c b/net/nfc/llcp/sock.c
index 6152d05f8378..ddeb9aa398f0 100644
--- a/net/nfc/llcp/sock.c
+++ b/net/nfc/llcp/sock.c
@@ -294,6 +294,9 @@ static int llcp_sock_getname(struct socket *sock, struct sockaddr *uaddr,
struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk);
DECLARE_SOCKADDR(struct sockaddr_nfc_llcp *, llcp_addr, uaddr);
+ if (llcp_sock == NULL || llcp_sock->dev == NULL)
+ return -EBADFD;
+
pr_debug("%p %d %d %d\n", sk, llcp_sock->target_idx,
llcp_sock->dsap, llcp_sock->ssap);