Bluetooth: Check for valid bdaddr in add_remote_oob_data
Before doing any other verifications, the add_remote_oob_data function should first check that the given address is valid. This patch adds such a missing check to the beginning of the function. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Родитель
ed93ec69c7
Коммит
5d57e7964c
|
@ -3633,10 +3633,16 @@ unlock:
|
||||||
static int add_remote_oob_data(struct sock *sk, struct hci_dev *hdev,
|
static int add_remote_oob_data(struct sock *sk, struct hci_dev *hdev,
|
||||||
void *data, u16 len)
|
void *data, u16 len)
|
||||||
{
|
{
|
||||||
|
struct mgmt_addr_info *addr = data;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
BT_DBG("%s ", hdev->name);
|
BT_DBG("%s ", hdev->name);
|
||||||
|
|
||||||
|
if (!bdaddr_type_is_valid(addr->type))
|
||||||
|
return cmd_complete(sk, hdev->id, MGMT_OP_ADD_REMOTE_OOB_DATA,
|
||||||
|
MGMT_STATUS_INVALID_PARAMS, addr,
|
||||||
|
sizeof(*addr));
|
||||||
|
|
||||||
hci_dev_lock(hdev);
|
hci_dev_lock(hdev);
|
||||||
|
|
||||||
if (len == MGMT_ADD_REMOTE_OOB_DATA_SIZE) {
|
if (len == MGMT_ADD_REMOTE_OOB_DATA_SIZE) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче