Index: device/bluetooth/bluetooth_remote_gatt_service_win.cc |
diff --git a/device/bluetooth/bluetooth_remote_gatt_service_win.cc b/device/bluetooth/bluetooth_remote_gatt_service_win.cc |
index 19064eb67da44106d74581c238c8aed0acd5f950..84127ed51a795d9ece41a595ef34c6156973fabf 100644 |
--- a/device/bluetooth/bluetooth_remote_gatt_service_win.cc |
+++ b/device/bluetooth/bluetooth_remote_gatt_service_win.cc |
@@ -250,6 +250,10 @@ void BluetoothRemoteGattServiceWin::RemoveIncludedCharacteristic( |
void BluetoothRemoteGattServiceWin::ClearIncludedCharacteristics() { |
discovery_completed_included_charateristics_.clear(); |
+ // Explicitly reset to null to ensure that calling GetCharacteristic() on the |
+ // removed characteristic in GattDescriptorRemoved() returns null. |
+ for (auto& entry : included_characteristics_) |
+ entry.second.reset(); |
included_characteristics_.clear(); |
} |