summaryrefslogtreecommitdiffstats
path: root/core/jni/android_util_Binder.cpp
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2011-03-15 11:03:42 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-03-15 11:03:42 -0700
commitf58f041beb8a00db201eb3c8eb801dc1b702253d (patch)
treef361b552553264cd116a57b841956ad1c9c494b6 /core/jni/android_util_Binder.cpp
parent8d97f87d1fc7b67d57d5894915a4451629d98551 (diff)
parentcffde30fc10ecdfca53877fbee61525028eb47ba (diff)
downloadframeworks_base-f58f041beb8a00db201eb3c8eb801dc1b702253d.zip
frameworks_base-f58f041beb8a00db201eb3c8eb801dc1b702253d.tar.gz
frameworks_base-f58f041beb8a00db201eb3c8eb801dc1b702253d.tar.bz2
am cffde30f: am 44220a56: Merge "Add some debug code to try to track down issue 3183612" into gingerbread
* commit 'cffde30fc10ecdfca53877fbee61525028eb47ba': Add some debug code to try to track down issue 3183612
Diffstat (limited to 'core/jni/android_util_Binder.cpp')
-rw-r--r--core/jni/android_util_Binder.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/core/jni/android_util_Binder.cpp b/core/jni/android_util_Binder.cpp
index 9e00a7d..09a5fd4 100644
--- a/core/jni/android_util_Binder.cpp
+++ b/core/jni/android_util_Binder.cpp
@@ -680,6 +680,15 @@ static jlong android_os_Binder_clearCallingIdentity(JNIEnv* env, jobject clazz)
static void android_os_Binder_restoreCallingIdentity(JNIEnv* env, jobject clazz, jlong token)
{
+ // XXX temporary sanity check to debug crashes.
+ int uid = (int)(token>>32);
+ if (uid > 0 && uid < 999) {
+ // In Android currently there are no uids in this range.
+ char buf[128];
+ sprintf(buf, "Restoring bad calling ident: 0x%Lx", token);
+ jniThrowException(env, "java/lang/IllegalStateException", buf);
+ return;
+ }
IPCThreadState::self()->restoreCallingIdentity(token);
}