Bluetooth: Check for valid key->authenticated value for LTKs

This patch adds necessary checks for the two allowed values of the
authenticated parameter of each Long Term Key, i.e. 0x00 and 0x01. If
any other value is encountered the valid response is to return invalid
params to user space.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
This commit is contained in:
Johan Hedberg 2013-01-20 14:27:17 +02:00 committed by Gustavo Padovan
parent 3f706b7205
commit 44b20d3396

View File

@ -2703,6 +2703,8 @@ static int set_fast_connectable(struct sock *sk, struct hci_dev *hdev,
static bool ltk_is_valid(struct mgmt_ltk_info *key) static bool ltk_is_valid(struct mgmt_ltk_info *key)
{ {
if (key->authenticated != 0x00 && key->authenticated != 0x01)
return false;
if (key->master != 0x00 && key->master != 0x01) if (key->master != 0x00 && key->master != 0x01)
return false; return false;
return true; return true;