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

Commit 9858b3c3 authored by Austin Borger's avatar Austin Borger
Browse files

DO NOT MERGE Revert "Fix vulnerability in AttributionSource due to incorrect ..."

Revert submission 21778792-sc-dev-2-attribution-source

Reason for revert: Not going into TM QPR3. Need to align this such that all versions are fixed at once.

Reverted changes: /q/submissionid:21778792-sc-dev-2-attribution-source

Change-Id: I3c499ba500e951c1863fbfd95d6ccbf8b23aead7
parent 2fc07dea
Loading
Loading
Loading
Loading
+3 −17
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ import android.os.Parcelable;
import android.os.Process;
import android.permission.PermissionManager;
import android.util.ArraySet;
import android.util.Log;

import com.android.internal.annotations.Immutable;

@@ -87,8 +86,6 @@ import java.util.Set;
 */
@Immutable
public final class AttributionSource implements Parcelable {
    private static final String TAG = "AttributionSource";

    private static final String DESCRIPTOR = "android.content.AttributionSource";

    private static final Binder sDefaultToken = new Binder(DESCRIPTOR);
@@ -156,21 +153,10 @@ public final class AttributionSource implements Parcelable {
    AttributionSource(@NonNull Parcel in) {
        this(AttributionSourceState.CREATOR.createFromParcel(in));

        if (!Binder.isHandlingTransaction()) {
            Log.e(TAG, "Unable to verify calling UID #" + mAttributionSourceState.uid + " PID #"
                    + mAttributionSourceState.pid + " when not handling Binder transaction; "
                    + "clearing.");
            mAttributionSourceState.pid = -1;
            mAttributionSourceState.uid = -1;
            mAttributionSourceState.packageName = null;
            mAttributionSourceState.attributionTag = null;
            mAttributionSourceState.next = null;
        } else {
        // Since we just unpacked this object as part of it transiting a Binder
        // call, this is the perfect time to enforce that its UID and PID can be trusted
        enforceCallingUidAndPid();
    }
    }

    /** @hide */
    public AttributionSource(@NonNull AttributionSourceState attributionSourceState) {