Merge "Fix checkKeyIntentParceledCorrectly's bypass" into tm-dev am: 176d76f1a6
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20709903 Change-Id: I0815d7adea6678da4bc614566d5075585596c448 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -3091,7 +3091,7 @@ public class AccountManagerService
|
||||
}
|
||||
}
|
||||
|
||||
Intent intent = result.getParcelable(AccountManager.KEY_INTENT);
|
||||
Intent intent = result.getParcelable(AccountManager.KEY_INTENT, Intent.class);
|
||||
if (intent != null && notifyOnAuthFailure && !customTokens) {
|
||||
/*
|
||||
* Make sure that the supplied intent is owned by the authenticator
|
||||
@@ -3516,8 +3516,7 @@ public class AccountManagerService
|
||||
Bundle.setDefusable(result, true);
|
||||
mNumResults++;
|
||||
Intent intent = null;
|
||||
if (result != null
|
||||
&& (intent = result.getParcelable(AccountManager.KEY_INTENT)) != null) {
|
||||
if (result != null) {
|
||||
if (!checkKeyIntent(
|
||||
Binder.getCallingUid(),
|
||||
result)) {
|
||||
@@ -4876,8 +4875,10 @@ public class AccountManagerService
|
||||
EventLog.writeEvent(0x534e4554, "250588548", authUid, "");
|
||||
return false;
|
||||
}
|
||||
|
||||
Intent intent = bundle.getParcelable(AccountManager.KEY_INTENT, Intent.class);
|
||||
if (intent == null) {
|
||||
return true;
|
||||
}
|
||||
// Explicitly set an empty ClipData to ensure that we don't offer to
|
||||
// promote any Uris contained inside for granting purposes
|
||||
if (intent.getClipData() == null) {
|
||||
@@ -4927,8 +4928,12 @@ public class AccountManagerService
|
||||
Bundle simulateBundle = p.readBundle();
|
||||
p.recycle();
|
||||
Intent intent = bundle.getParcelable(AccountManager.KEY_INTENT, Intent.class);
|
||||
return (intent.filterEquals(simulateBundle.getParcelable(AccountManager.KEY_INTENT,
|
||||
Intent.class)));
|
||||
Intent simulateIntent = simulateBundle.getParcelable(AccountManager.KEY_INTENT,
|
||||
Intent.class);
|
||||
if (intent == null) {
|
||||
return (simulateIntent == null);
|
||||
}
|
||||
return intent.filterEquals(simulateIntent);
|
||||
}
|
||||
|
||||
private boolean isExportedSystemActivity(ActivityInfo activityInfo) {
|
||||
@@ -5073,8 +5078,7 @@ public class AccountManagerService
|
||||
}
|
||||
}
|
||||
}
|
||||
if (result != null
|
||||
&& (intent = result.getParcelable(AccountManager.KEY_INTENT)) != null) {
|
||||
if (result != null) {
|
||||
if (!checkKeyIntent(
|
||||
Binder.getCallingUid(),
|
||||
result)) {
|
||||
|
||||
Reference in New Issue
Block a user