diff options
author | Amith Yamasani <yamasani@google.com> | 2012-10-24 06:42:40 -0700 |
---|---|---|
committer | Amith Yamasani <yamasani@google.com> | 2012-10-24 06:45:12 -0700 |
commit | f043de93ebb5178fb4b5c8f14e143c6f08bcc26f (patch) | |
tree | 77d8337879171a0a9eeac17d0998ecf424474439 /services/java/com/android/server/InputMethodManagerService.java | |
parent | cd79b35c3828e0ebf4c9e68da75f9d857ccf01db (diff) | |
download | frameworks_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.java | 7 |
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; } } |