summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2015-01-31 00:15:52 -0800
committerMarcel Holtmann <marcel@holtmann.org>2015-01-31 21:26:14 +0100
commit4775a4ea14d3e15645336e4b0f1355e526c57956 (patch)
tree41ecd4f3bae7e86133cdf5ee7098b9342b1ac4f1
parent659c7fb08463b3dcf6aebb4daa0c5463289ccb97 (diff)
downloadlinux-4775a4ea14d3e15645336e4b0f1355e526c57956.tar.gz
linux-4775a4ea14d3e15645336e4b0f1355e526c57956.tar.bz2
linux-4775a4ea14d3e15645336e4b0f1355e526c57956.zip
Bluetooth: Fix OOB data present value for SMP pairing
Before setting the OOB data present flag with SMP pairing, check the newly introduced present tracking that actual OOB data values have been provided. The existence of remote OOB data structure does not actually mean that the correct data values are available. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
-rw-r--r--net/bluetooth/smp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c
index 37d9180bfe1c..c09a821f381d 100644
--- a/net/bluetooth/smp.c
+++ b/net/bluetooth/smp.c
@@ -620,7 +620,7 @@ static void build_pairing_cmd(struct l2cap_conn *conn,
oob_data = hci_find_remote_oob_data(hdev, &hcon->dst,
bdaddr_type);
- if (oob_data) {
+ if (oob_data && oob_data->present) {
set_bit(SMP_FLAG_OOB, &smp->flags);
oob_flag = SMP_OOB_PRESENT;
memcpy(smp->rr, oob_data->rand256, 16);