[PATCH] Bluetooth: sco: prevent information leak in sco_conn_defer_accept()

Dan Carpenter
2021-06-25T15:00:33Z

Smatch complains that some of these struct members are not initialized
leading to a stack information disclosure:

net/bluetooth/sco.c:778 sco_conn_defer_accept() warn:
check that 'cp.retrans_effort' doesn't leak information

This seems like a valid warning. I've added a default case to fix
this issue. It's sort of unusual to have case SCO_AIRMODE_CVSD,
followed by a default case but I think it's nicely readable. :)

Fixes: 2f69a82acf6f ("Bluetooth: Use voice setting in deferred SCO connection request")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
net/bluetooth/sco.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
index d9a4e88dacbb..e2ee00fea64b 100644
--- a/net/bluetooth/sco.c
+++ b/net/bluetooth/sco.c
@@ -770,6 +770,7 @@ static void sco_conn_defer_accept(struct hci_conn *conn, u16 setting)
cp.retrans_effort = 0x02;
break;
case SCO_AIRMODE_CVSD:
+ default:
cp.max_latency = cpu_to_le16(0xffff);
cp.retrans_effort = 0xff;
break;
--
2.30.2