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

Commit a1be093b authored by Hao Ke's avatar Hao Ke Committed by Android (Google) Code Review
Browse files

Merge "Fix checkKeyIntentParceledCorrectly's bypass"

parents 4ba326f8 e7c9ceda
Loading
Loading
Loading
Loading
+11 −7
Original line number Diff line number Diff line
@@ -3558,8 +3558,7 @@ public class AccountManagerService
            Bundle.setDefusable(result, true);
            mNumResults++;
            Intent intent = null;
            if (result != null
                    && (intent = result.getParcelable(AccountManager.KEY_INTENT, android.content.Intent.class)) != null) {
            if (result != null) {
                if (!checkKeyIntent(
                        Binder.getCallingUid(),
                        result)) {
@@ -4928,8 +4927,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) {
@@ -4979,8 +4980,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) {
@@ -5129,8 +5134,7 @@ public class AccountManagerService
                    }
                }
            }
            if (result != null
                    && (intent = result.getParcelable(AccountManager.KEY_INTENT, android.content.Intent.class)) != null) {
            if (result != null) {
                if (!checkKeyIntent(
                        Binder.getCallingUid(),
                        result)) {