Bluetooth: Check for valid key->authenticated value for LTKs
authorJohan Hedberg <johan.hedberg@intel.com>
Sun, 20 Jan 2013 12:27:17 +0000 (14:27 +0200)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Wed, 23 Jan 2013 03:57:04 +0000 (01:57 -0200)
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>
net/bluetooth/mgmt.c

index cd758994b02f45eca34417ed8c6cbcdd54c1ec76..bc04c444c98efaa3aebbe48aca21c15953b116b4 100644 (file)
@@ -2703,6 +2703,8 @@ done:
 
 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)
                return false;
        return true;