From: Johan Hedberg Date: Tue, 28 Jan 2014 23:16:49 +0000 (-0800) Subject: Bluetooth: Refuse peer L2CAP address reading when not connected X-Git-Tag: firefly_0821_release~176^2~3540^2~11^2~7^2~45^2~264 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b783fbc3a55691f978b9f78d552a0d7e7d2705ad;p=firefly-linux-kernel-4.4.55.git Bluetooth: Refuse peer L2CAP address reading when not connected When we're not connected the peer address information is undefined. This patch fixes the remote address getting to return a proper error in case the state is anything else than BT_CONNECTED. Signed-off-by: Johan Hedberg Signed-off-by: Marcel Holtmann --- diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c index ae4f6b593fc0..b0aaa651a5ba 100644 --- a/net/bluetooth/l2cap_sock.c +++ b/net/bluetooth/l2cap_sock.c @@ -366,6 +366,9 @@ static int l2cap_sock_getname(struct socket *sock, struct sockaddr *addr, BT_DBG("sock %p, sk %p", sock, sk); + if (peer && sk->sk_state != BT_CONNECTED) + return -ENOTCONN; + memset(la, 0, sizeof(struct sockaddr_l2)); addr->sa_family = AF_BLUETOOTH; *len = sizeof(struct sockaddr_l2);