Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 620a28ba authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Android (Google) Code Review
Browse files

Merge "Mark more Bundles as being defusable." into nyc-dev

parents 77e64512 a04c7a7c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);
        }

@@ -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

+2 −0
Original line number Diff line number Diff line
@@ -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);
@@ -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);
+3 −1
Original line number Diff line number Diff line
@@ -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.
+1 −1
Original line number Diff line number Diff line
@@ -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);
+8 −0
Original line number Diff line number Diff line
@@ -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