aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Krause <[email protected]>2012-08-15 11:31:47 +0000
committerDavid S. Miller <[email protected]>2012-08-15 21:36:30 -0700
commit3f68ba07b1da811bf383b4b701b129bfcb2e4988 (patch)
treea6632984849d7101a95ba8649db505b293507a00
parente15ca9a0ef9a86f0477530b0f44a725d67f889ee (diff)
Bluetooth: HCI - Fix info leak via getsockname()
The HCI code fails to initialize the hci_channel member of struct sockaddr_hci and that for leaks two bytes kernel stack via the getsockname() syscall. Initialize hci_channel with 0 to avoid the info leak. Signed-off-by: Mathias Krause <[email protected]> Cc: Marcel Holtmann <[email protected]> Cc: Gustavo Padovan <[email protected]> Cc: Johan Hedberg <[email protected]> Signed-off-by: David S. Miller <[email protected]>
-rw-r--r--net/bluetooth/hci_sock.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c
index a27bbc3cd4b7..19fdac78e555 100644
--- a/net/bluetooth/hci_sock.c
+++ b/net/bluetooth/hci_sock.c
@@ -694,6 +694,7 @@ static int hci_sock_getname(struct socket *sock, struct sockaddr *addr,
*addr_len = sizeof(*haddr);
haddr->hci_family = AF_BLUETOOTH;
haddr->hci_dev = hdev->id;
+ haddr->hci_channel= 0;
release_sock(sk);
return 0;