summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlawale Ogunwale <ogunwale@google.com>2015-04-10 20:14:52 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-04-10 20:14:54 +0000
commit4406568ebac6f6bbf627aeb6909b409d948cecf4 (patch)
tree9cb511e50205c49ebe794a637e204dfa7c386385
parenta270264c61daa42a5b03bbb1e7f23e77780f8fc0 (diff)
parentb15506f95e7b00d9a5b89a0c732689fcad2a12ff (diff)
downloadframeworks_base-4406568ebac6f6bbf627aeb6909b409d948cecf4.zip
frameworks_base-4406568ebac6f6bbf627aeb6909b409d948cecf4.tar.gz
frameworks_base-4406568ebac6f6bbf627aeb6909b409d948cecf4.tar.bz2
Merge "Check caller status precisely when registering receiver."
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 5494000..05a4d7e 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -15709,8 +15709,9 @@ public final class ActivityManagerService extends ActivityManagerNative
}
synchronized (this) {
- if (callerApp != null && callerApp.pid == 0) {
- // Caller already died
+ if (callerApp != null && (callerApp.thread == null
+ || callerApp.thread.asBinder() != caller.asBinder())) {
+ // Original caller already died
return null;
}
ReceiverList rl