diff options
| author | 2022-12-12 15:49:16 +0000 | |
|---|---|---|
| committer | 2022-12-13 03:59:01 +0000 | |
| commit | e7c9cedab64313054a5f1d6e249a3d7118f0fe6d (patch) | |
| tree | 6b760a2102c64c1d221980bd549dd151273c3291 /libs/androidfw/StringPool.cpp | |
| parent | a8b75955587a1db31b7646e52471f61641ee5b77 (diff) | |
Fix checkKeyIntentParceledCorrectly's bypass
The checkKeyIntentParceledCorrectly method was added in checkKeyIntent, which was originaly only invoked when AccountManagerService deserializes the KEY_INTENT value as not NULL. However, due to the self-changing bundle technique in Parcel mismatch problems, the Intent value can change after reparceling; hence would bypass the added checkKeyIntentParceledCorrectly call.
This CL did the following:
- Ensure the checkKeyIntent method is also called when result.getParcelable(AccountManager.KEY_INTENT, Intent.class) == null.
- Migrate to the safer Bundle.getParcelable(String, Class<T>) API call
in AccountManagerService.
Bug: 260567867
Bug: 262230405
Test: local test, see b/262230405
Test: atest CtsAccountManagerTestCases
Merged-In: I7b528f52c41767ae12731838fdd36aa26a8f3477
Change-Id: I7b528f52c41767ae12731838fdd36aa26a8f3477
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions