BondStateMachine: Check name for validity before access
test: Bluetooth LE Secure Client/Server CTS-V pass
Change-Id: I172ceac51d14a27bb50e3249516c8a4b0be7198d
Signed-off-by: electimon <electi@yzu.moe>
diff --git a/android/app/src/com/android/bluetooth/btservice/BondStateMachine.java b/android/app/src/com/android/bluetooth/btservice/BondStateMachine.java
index 380c0f5..233a9d8 100644
--- a/android/app/src/com/android/bluetooth/btservice/BondStateMachine.java
+++ b/android/app/src/com/android/bluetooth/btservice/BondStateMachine.java
@@ -499,7 +499,11 @@
@RequiresPermission(BLUETOOTH_CONNECT)
private boolean isSkipConfirmationAccessory(BluetoothDevice device) {
for (Pair<String, Integer> entry : accConfirmSkip) {
- if (device.getName().equals(entry.first)
+ String name = device.getName();
+ if (name == null) {
+ return false;
+ }
+ if (name.equals(entry.first)
&& device.getBluetoothClass().getDeviceClass() == entry.second) {
return true;
}