summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/InputMethodManagerService.java
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2012-10-24 06:42:40 -0700
committerAmith Yamasani <yamasani@google.com>2012-10-24 06:45:12 -0700
commitf043de93ebb5178fb4b5c8f14e143c6f08bcc26f (patch)
tree77d8337879171a0a9eeac17d0998ecf424474439 /services/java/com/android/server/InputMethodManagerService.java
parentcd79b35c3828e0ebf4c9e68da75f9d857ccf01db (diff)
downloadframeworks_base-f043de93ebb5178fb4b5c8f14e143c6f08bcc26f.zip
frameworks_base-f043de93ebb5178fb4b5c8f14e143c6f08bcc26f.tar.gz
frameworks_base-f043de93ebb5178fb4b5c8f14e143c6f08bcc26f.tar.bz2
Fix a crash in InputMethodManagerService due to permission failure.
Clear calling identity before sending broadcast to the current user. Bug: 7403829 Change-Id: If2b27d07d917b892470163e1303883b29a86c0e4
Diffstat (limited to 'services/java/com/android/server/InputMethodManagerService.java')
-rw-r--r--services/java/com/android/server/InputMethodManagerService.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/services/java/com/android/server/InputMethodManagerService.java b/services/java/com/android/server/InputMethodManagerService.java
index 679a22a..0e51c47 100644
--- a/services/java/com/android/server/InputMethodManagerService.java
+++ b/services/java/com/android/server/InputMethodManagerService.java
@@ -1561,7 +1561,12 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
intent.putExtra(SuggestionSpan.SUGGESTION_SPAN_PICKED_BEFORE, originalString);
intent.putExtra(SuggestionSpan.SUGGESTION_SPAN_PICKED_AFTER, suggestions[index]);
intent.putExtra(SuggestionSpan.SUGGESTION_SPAN_PICKED_HASHCODE, span.hashCode());
- mContext.sendBroadcastAsUser(intent, UserHandle.CURRENT);
+ final long ident = Binder.clearCallingIdentity();
+ try {
+ mContext.sendBroadcastAsUser(intent, UserHandle.CURRENT);
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
return true;
}
}