From 02c4b353f7b2427d8a335e41fc336aea7cede8a3 Mon Sep 17 00:00:00 2001 From: Matthew Xie Date: Tue, 1 May 2012 17:15:10 -0700 Subject: [PATCH] Check null of address in onDeviceCreated address can be null that returned from getAddressFromObjectPath. If it is null case, donot continue call getRemoteDeviceProperties. Otherwise it causes null pointer exception and crash the system. Bug 6338780 Change-Id: Ib190342032ab2ad11c49f44fa6d4b2509a861514 --- core/java/android/server/BluetoothEventLoop.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/java/android/server/BluetoothEventLoop.java b/core/java/android/server/BluetoothEventLoop.java index 9c887a1a54928..b758e7fa08865 100644 --- a/core/java/android/server/BluetoothEventLoop.java +++ b/core/java/android/server/BluetoothEventLoop.java @@ -268,6 +268,11 @@ class BluetoothEventLoop { */ private void onDeviceCreated(String deviceObjectPath) { String address = mBluetoothService.getAddressFromObjectPath(deviceObjectPath); + if (address == null) { + Log.e(TAG, "onDeviceCreated: device address null!" + " deviceObjectPath: " + + deviceObjectPath); + return; + } if (!mBluetoothService.isRemoteDeviceInCache(address)) { // Incoming connection, we haven't seen this device, add to cache. String[] properties = mBluetoothService.getRemoteDeviceProperties(address); @@ -275,7 +280,6 @@ class BluetoothEventLoop { addDevice(address, properties); } } - return; } /**