diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java index bbb550fd6343e..f68a8b28e9dfa 100644 --- a/core/java/android/bluetooth/BluetoothDevice.java +++ b/core/java/android/bluetooth/BluetoothDevice.java @@ -1096,6 +1096,8 @@ public final class BluetoothDevice implements Parcelable, Attributable { /** 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. @@ -1493,6 +1495,10 @@ public final class BluetoothDevice implements Parcelable, Attributable { 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, mAttributionSource);