diff options
| -rw-r--r-- | core/java/android/content/AttributionSource.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/core/java/android/content/AttributionSource.java b/core/java/android/content/AttributionSource.java index e981581c269a..2b400c1fba43 100644 --- a/core/java/android/content/AttributionSource.java +++ b/core/java/android/content/AttributionSource.java @@ -155,6 +155,11 @@ public final class AttributionSource implements Parcelable { AttributionSource(@NonNull Parcel in) { this(AttributionSourceState.CREATOR.createFromParcel(in)); + if (!Binder.isDirectlyHandlingTransaction()) { + throw new SecurityException("AttributionSource should be unparceled during a binder " + + "transaction for proper verification."); + } + // 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(); |