From 84abea03d6df1da732edeb8495f8775f7279cad2 Mon Sep 17 00:00:00 2001 From: Etienne Ruffieux Date: Thu, 15 Jul 2021 12:36:20 +0000 Subject: [PATCH] Prevent create bond for null MAC address Tag: #feature Bug: 193702115 Test: atest BluetoothInstrumentationTests Change-Id: I5684f00cf4a567a899c958b94af22ccf5067b476 --- core/java/android/bluetooth/BluetoothDevice.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java index 07dbe52a2c66d..0969ec2269b19 100644 --- a/core/java/android/bluetooth/BluetoothDevice.java +++ b/core/java/android/bluetooth/BluetoothDevice.java @@ -1035,6 +1035,8 @@ public final class BluetoothDevice implements Parcelable { /** Address is either resolvable, non-resolvable or static. */ public static final int ADDRESS_TYPE_RANDOM = 1; + private static final String NULL_MAC_ADDRESS = "00:00:00:00:00:00"; + /** * Lazy initialization. Guaranteed final after first object constructed, or * getService() called. @@ -1371,6 +1373,10 @@ public final class BluetoothDevice implements Parcelable { Log.w(TAG, "BT not enabled, createBondOutOfBand failed"); return false; } + if (NULL_MAC_ADDRESS.equals(mAddress)) { + Log.e(TAG, "Unable to create bond, invalid address " + mAddress); + return false; + } try { return service.createBond(this, transport, remoteP192Data, remoteP256Data); } catch (RemoteException e) {