Loading
Bluetooth: btusb: clamp SCO altsetting table indices
btusb_work() maps the number of active SCO links to USB alternate settings through a three-entry lookup table when CVSD traffic uses transparent voice settings. The lookup currently indexes alts[] with data->sco_num - 1 without first constraining sco_num to the number of available table entries. While the table only defines alternate settings for up to three SCO links, data->sco_num comes from hci_conn_num() and is used directly. Cap the lookup to the last table entry before indexing it so the driver keeps selecting the highest supported alternate setting without reading past alts[]. Fixes: baac6276 ("Bluetooth: btusb: handle mSBC audio over USB Endpoints") Signed-off-by:Pengpeng Hou <pengpeng@iscas.ac.cn> Signed-off-by:
Luiz Augusto von Dentz <luiz.von.dentz@intel.com>