Merge "Revert "Fix vulnerability in AttributionSource due to incorrect ..."" into tm-dev
This commit is contained in:
@@ -31,7 +31,6 @@ import android.os.Parcelable;
|
|||||||
import android.os.Process;
|
import android.os.Process;
|
||||||
import android.permission.PermissionManager;
|
import android.permission.PermissionManager;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import com.android.internal.annotations.Immutable;
|
import com.android.internal.annotations.Immutable;
|
||||||
|
|
||||||
@@ -88,8 +87,6 @@ import java.util.Set;
|
|||||||
*/
|
*/
|
||||||
@Immutable
|
@Immutable
|
||||||
public final class AttributionSource implements Parcelable {
|
public final class AttributionSource implements Parcelable {
|
||||||
private static final String TAG = "AttributionSource";
|
|
||||||
|
|
||||||
private static final String DESCRIPTOR = "android.content.AttributionSource";
|
private static final String DESCRIPTOR = "android.content.AttributionSource";
|
||||||
|
|
||||||
private static final Binder sDefaultToken = new Binder(DESCRIPTOR);
|
private static final Binder sDefaultToken = new Binder(DESCRIPTOR);
|
||||||
@@ -157,20 +154,9 @@ public final class AttributionSource implements Parcelable {
|
|||||||
AttributionSource(@NonNull Parcel in) {
|
AttributionSource(@NonNull Parcel in) {
|
||||||
this(AttributionSourceState.CREATOR.createFromParcel(in));
|
this(AttributionSourceState.CREATOR.createFromParcel(in));
|
||||||
|
|
||||||
if (!Binder.isDirectlyHandlingTransaction()) {
|
// Since we just unpacked this object as part of it transiting a Binder
|
||||||
Log.e(TAG, "Unable to verify calling UID #" + mAttributionSourceState.uid + " PID #"
|
// call, this is the perfect time to enforce that its UID and PID can be trusted
|
||||||
+ mAttributionSourceState.pid + " when not handling Binder transaction; "
|
enforceCallingUidAndPid();
|
||||||
+ "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 */
|
/** @hide */
|
||||||
|
|||||||
Reference in New Issue
Block a user