From f043de93ebb5178fb4b5c8f14e143c6f08bcc26f Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Wed, 24 Oct 2012 06:42:40 -0700 Subject: Fix a crash in InputMethodManagerService due to permission failure. Clear calling identity before sending broadcast to the current user. Bug: 7403829 Change-Id: If2b27d07d917b892470163e1303883b29a86c0e4 --- services/java/com/android/server/InputMethodManagerService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'services/java/com/android/server/InputMethodManagerService.java') 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; } } -- cgit v1.1