Merge "inputflinger: Check for KeyCharacterMap before use" into main
diff --git a/services/inputflinger/reader/EventHub.cpp b/services/inputflinger/reader/EventHub.cpp
index 10cc1ee..117b384 100644
--- a/services/inputflinger/reader/EventHub.cpp
+++ b/services/inputflinger/reader/EventHub.cpp
@@ -662,8 +662,12 @@
if (hasKeycodeInternalLocked(keycode)) {
return true;
}
-
- for (auto& fromKey : getKeyCharacterMap()->findKeyCodesMappedToKeyCode(keycode)) {
+ // Check the key character map first. Not all input devices will have one.
+ const std::shared_ptr<KeyCharacterMap> kcm = getKeyCharacterMap();
+ if (kcm == nullptr) {
+ return false;
+ }
+ for (auto& fromKey : kcm->findKeyCodesMappedToKeyCode(keycode)) {
if (hasKeycodeInternalLocked(fromKey)) {
return true;
}