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

Commit 5ce988eb authored by Diego Vela's avatar Diego Vela Committed by Automerger Merge Worker
Browse files

Merge "Revert "Fix vulnerability in AttributionSource due to incorrect ...""...

Merge "Revert "Fix vulnerability in AttributionSource due to incorrect ..."" into tm-dev am: bc41a652 am: 0e408f94 am: 3ab864b5

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21893030



Change-Id: I6f71226da964d1f67e5072ce162fbac4dd925d89
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 59d9caa5 3ab864b5
Loading
Loading
Loading
Loading
+3 −17
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import android.os.Process;
import android.os.UserHandle;
import android.permission.PermissionManager;
import android.util.ArraySet;
import android.util.Log;

import com.android.internal.annotations.Immutable;

@@ -89,8 +88,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);
@@ -158,21 +155,10 @@ public final class AttributionSource implements Parcelable {
    AttributionSource(@NonNull Parcel in) {
        this(AttributionSourceState.CREATOR.createFromParcel(in));

        if (!Binder.isDirectlyHandlingTransaction()) {
            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) {