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 <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Johan Hedberg 2014-01-28 15:16:49 -08:00
parent 61202e4de9
commit b783fbc3a5
1 changed files with 3 additions and 0 deletions

View File

@ -366,6 +366,9 @@ static int l2cap_sock_getname(struct socket *sock, struct sockaddr *addr,
BT_DBG("sock %p, sk %p", sock, sk); BT_DBG("sock %p, sk %p", sock, sk);
if (peer && sk->sk_state != BT_CONNECTED)
return -ENOTCONN;
memset(la, 0, sizeof(struct sockaddr_l2)); memset(la, 0, sizeof(struct sockaddr_l2));
addr->sa_family = AF_BLUETOOTH; addr->sa_family = AF_BLUETOOTH;
*len = sizeof(struct sockaddr_l2); *len = sizeof(struct sockaddr_l2);