summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/java/android/media/MediaMetadata.java2
-rwxr-xr-xservices/core/java/com/android/server/am/ActiveServices.java6
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java1
-rw-r--r--services/core/java/com/android/server/am/PendingIntentRecord.java5
-rw-r--r--telecomm/java/android/telecom/ParcelableConnection.java2
5 files changed, 9 insertions, 7 deletions
diff --git a/media/java/android/media/MediaMetadata.java b/media/java/android/media/MediaMetadata.java
index 722605f5d544..9ebf10f52728 100644
--- a/media/java/android/media/MediaMetadata.java
+++ b/media/java/android/media/MediaMetadata.java
@@ -365,7 +365,7 @@ public final class MediaMetadata implements Parcelable {
}
private MediaMetadata(Parcel in) {
- mBundle = in.readBundle();
+ mBundle = Bundle.setDefusable(in.readBundle(), true);
}
/**
diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java
index 63a0e87efc59..f51fb6c68cd4 100755
--- a/services/core/java/com/android/server/am/ActiveServices.java
+++ b/services/core/java/com/android/server/am/ActiveServices.java
@@ -811,10 +811,8 @@ public final class ActiveServices {
// Hacky kind of thing -- allow system stuff to tell us
// what they are, so we can report this elsewhere for
// others to know why certain services are running.
- try {
- clientIntent = service.getParcelableExtra(Intent.EXTRA_CLIENT_INTENT);
- } catch (RuntimeException e) {
- }
+ service.setDefusable(true);
+ clientIntent = service.getParcelableExtra(Intent.EXTRA_CLIENT_INTENT);
if (clientIntent != null) {
clientLabel = service.getIntExtra(Intent.EXTRA_CLIENT_LABEL, 0);
if (clientLabel != 0) {
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 5aac43d910f7..a22e0efb70d4 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -6923,6 +6923,7 @@ public final class ActivityManagerService extends ActivityManagerNative
intents[i].setDefusable(true);
}
}
+ Bundle.setDefusable(bOptions, true);
final boolean noCreate = (flags&PendingIntent.FLAG_NO_CREATE) != 0;
final boolean cancelCurrent = (flags&PendingIntent.FLAG_CANCEL_CURRENT) != 0;
diff --git a/services/core/java/com/android/server/am/PendingIntentRecord.java b/services/core/java/com/android/server/am/PendingIntentRecord.java
index 8039072dccda..b8f45bc342a8 100644
--- a/services/core/java/com/android/server/am/PendingIntentRecord.java
+++ b/services/core/java/com/android/server/am/PendingIntentRecord.java
@@ -208,7 +208,10 @@ final class PendingIntentRecord extends IIntentSender.Stub {
String requiredPermission, IBinder resultTo, String resultWho, int requestCode,
int flagsMask, int flagsValues, Bundle options, IActivityContainer container)
throws TransactionTooLargeException {
- synchronized(owner) {
+ if (intent != null) intent.setDefusable(true);
+ if (options != null) options.setDefusable(true);
+
+ synchronized (owner) {
final ActivityContainer activityContainer = (ActivityContainer)container;
if (activityContainer != null && activityContainer.mParentActivity != null &&
activityContainer.mParentActivity.state
diff --git a/telecomm/java/android/telecom/ParcelableConnection.java b/telecomm/java/android/telecom/ParcelableConnection.java
index fe0a4d8eef3d..ce51c967e021 100644
--- a/telecomm/java/android/telecom/ParcelableConnection.java
+++ b/telecomm/java/android/telecom/ParcelableConnection.java
@@ -188,7 +188,7 @@ public final class ParcelableConnection implements Parcelable {
DisconnectCause disconnectCause = source.readParcelable(classLoader);
List<String> conferenceableConnectionIds = new ArrayList<>();
source.readStringList(conferenceableConnectionIds);
- Bundle extras = source.readBundle(classLoader);
+ Bundle extras = Bundle.setDefusable(source.readBundle(classLoader), true);
return new ParcelableConnection(
phoneAccount,