OSDN Git Service

Add a missing check for null pointer.
authorPavlin Radoslavov <pavlin@google.com>
Thu, 4 Jun 2015 18:46:22 +0000 (11:46 -0700)
committerPavlin Radoslavov <pavlin@google.com>
Thu, 4 Jun 2015 21:29:34 +0000 (21:29 +0000)
commitd2b033aeb4123ec92892495c262e0272ffb7ecdc
tree0abf908e5e4177aea60e7c5b6bb2a8580aec1fb5
parentcb94dd1cee4ec3cc8ebc1fe3df92d72071768e9d
Add a missing check for null pointer.

There is a race condition when processing intents inside
PairingCancelHandler.onReceive() that could trigger NPE.
A speculative list of events (untested) that could trigger it:

1. Trigger Pairing Cancel for a Bluetooth device.
2. Turn Off Bluetooth
   This should call CachedBluetoothDeviceManager.onBluetoothStateChanged()
   and should remove the device from (1) from the list of cached devices
3. BluetoothEventManager.PairincCancelHander.onReceive() receives
   an intent about about Pairing Cancel event.
   Within the processing of that intent, cachedDevice.getName()
   is called without checking whether cachedDevice is null.
   In this specific example, cachedDevice could be null because of (2)

Bug: 21368124
Change-Id: I86f5d5287b440d1d2e0fe147278b1c2257902e95
packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothEventManager.java