Loading core/java/android/app/Notification.java +2 −2 Original line number Diff line number Diff line Loading @@ -957,7 +957,7 @@ public class Notification implements Parcelable if (in.readInt() == 1) { actionIntent = PendingIntent.CREATOR.createFromParcel(in); } mExtras = in.readBundle(); mExtras = Bundle.setDefusable(in.readBundle(), true); mRemoteInputs = in.createTypedArray(RemoteInput.CREATOR); } Loading Loading @@ -1487,7 +1487,7 @@ public class Notification implements Parcelable mSortKey = parcel.readString(); extras = parcel.readBundle(); // may be null extras = Bundle.setDefusable(parcel.readBundle(), true); // may be null actions = parcel.createTypedArray(Action.CREATOR); // may be null Loading core/java/android/content/ContentProvider.java +2 −0 Original line number Diff line number Diff line Loading @@ -394,6 +394,7 @@ public abstract class ContentProvider implements ComponentCallbacks2 { @Override public Bundle call( String callingPkg, String method, @Nullable String arg, @Nullable Bundle extras) { Bundle.setDefusable(extras, true); final String original = setCallingPackage(callingPkg); try { return ContentProvider.this.call(method, arg, extras); Loading @@ -412,6 +413,7 @@ public abstract class ContentProvider implements ComponentCallbacks2 { @Override public AssetFileDescriptor openTypedAssetFile(String callingPkg, Uri uri, String mimeType, Bundle opts, ICancellationSignal cancellationSignal) throws FileNotFoundException { Bundle.setDefusable(opts, true); validateIncomingUri(uri); uri = getUriWithoutUserId(uri); enforceFilePermission(callingPkg, uri, "r", null); Loading core/java/android/content/ContentResolver.java +3 −1 Original line number Diff line number Diff line Loading @@ -1412,7 +1412,9 @@ public abstract class ContentResolver { throw new IllegalArgumentException("Unknown URI " + uri); } try { return provider.call(mPackageName, method, arg, extras); final Bundle res = provider.call(mPackageName, method, arg, extras); Bundle.setDefusable(res, true); return res; } catch (RemoteException e) { // Arbitrary and not worth documenting, as Activity // Manager will kill this process shortly anyway. Loading core/java/android/content/SyncRequest.java +1 −1 Original line number Diff line number Diff line Loading @@ -147,7 +147,7 @@ public class SyncRequest implements Parcelable { } private SyncRequest(Parcel in) { mExtras = in.readBundle(); mExtras = Bundle.setDefusable(in.readBundle(), true); mSyncFlexTimeSecs = in.readLong(); mSyncRunTimeSecs = in.readLong(); mIsPeriodic = (in.readInt() != 0); Loading core/java/android/os/Bundle.java +8 −0 Original line number Diff line number Diff line Loading @@ -181,6 +181,14 @@ public final class Bundle extends BaseBundle implements Cloneable, Parcelable { } } /** {@hide} */ public static Bundle setDefusable(Bundle bundle, boolean defusable) { if (bundle != null) { bundle.setDefusable(defusable); } return bundle; } /** * Clones the current Bundle. The internal map is cloned, but the keys and * values to which it refers are copied by reference. Loading Loading
core/java/android/app/Notification.java +2 −2 Original line number Diff line number Diff line Loading @@ -957,7 +957,7 @@ public class Notification implements Parcelable if (in.readInt() == 1) { actionIntent = PendingIntent.CREATOR.createFromParcel(in); } mExtras = in.readBundle(); mExtras = Bundle.setDefusable(in.readBundle(), true); mRemoteInputs = in.createTypedArray(RemoteInput.CREATOR); } Loading Loading @@ -1487,7 +1487,7 @@ public class Notification implements Parcelable mSortKey = parcel.readString(); extras = parcel.readBundle(); // may be null extras = Bundle.setDefusable(parcel.readBundle(), true); // may be null actions = parcel.createTypedArray(Action.CREATOR); // may be null Loading
core/java/android/content/ContentProvider.java +2 −0 Original line number Diff line number Diff line Loading @@ -394,6 +394,7 @@ public abstract class ContentProvider implements ComponentCallbacks2 { @Override public Bundle call( String callingPkg, String method, @Nullable String arg, @Nullable Bundle extras) { Bundle.setDefusable(extras, true); final String original = setCallingPackage(callingPkg); try { return ContentProvider.this.call(method, arg, extras); Loading @@ -412,6 +413,7 @@ public abstract class ContentProvider implements ComponentCallbacks2 { @Override public AssetFileDescriptor openTypedAssetFile(String callingPkg, Uri uri, String mimeType, Bundle opts, ICancellationSignal cancellationSignal) throws FileNotFoundException { Bundle.setDefusable(opts, true); validateIncomingUri(uri); uri = getUriWithoutUserId(uri); enforceFilePermission(callingPkg, uri, "r", null); Loading
core/java/android/content/ContentResolver.java +3 −1 Original line number Diff line number Diff line Loading @@ -1412,7 +1412,9 @@ public abstract class ContentResolver { throw new IllegalArgumentException("Unknown URI " + uri); } try { return provider.call(mPackageName, method, arg, extras); final Bundle res = provider.call(mPackageName, method, arg, extras); Bundle.setDefusable(res, true); return res; } catch (RemoteException e) { // Arbitrary and not worth documenting, as Activity // Manager will kill this process shortly anyway. Loading
core/java/android/content/SyncRequest.java +1 −1 Original line number Diff line number Diff line Loading @@ -147,7 +147,7 @@ public class SyncRequest implements Parcelable { } private SyncRequest(Parcel in) { mExtras = in.readBundle(); mExtras = Bundle.setDefusable(in.readBundle(), true); mSyncFlexTimeSecs = in.readLong(); mSyncRunTimeSecs = in.readLong(); mIsPeriodic = (in.readInt() != 0); Loading
core/java/android/os/Bundle.java +8 −0 Original line number Diff line number Diff line Loading @@ -181,6 +181,14 @@ public final class Bundle extends BaseBundle implements Cloneable, Parcelable { } } /** {@hide} */ public static Bundle setDefusable(Bundle bundle, boolean defusable) { if (bundle != null) { bundle.setDefusable(defusable); } return bundle; } /** * Clones the current Bundle. The internal map is cloned, but the keys and * values to which it refers are copied by reference. Loading