summaryrefslogtreecommitdiff
path: root/api/api.go
diff options
context:
space:
mode:
author Nan Wu <wnan@google.com> 2024-11-30 16:14:08 +0000
committer Nan Wu <wnan@google.com> 2024-12-04 17:19:03 +0000
commitae56df41e6e1d03c214f8aecf3a7e436b418251f (patch)
treec3a9b25334a3b95c6513916f8374f17ccf2fd3c7 /api/api.go
parentbeed0e8077e95a4444bc244f08b28ba26e3f0aa3 (diff)
Fix collectExtraIntentKeys for nested LazyValue who is of custom class
collectExtraIntentKeys calls BaseBundle.get(key) method to try to find out if the intent contains extra intent. But if the Bundle contains a LazyValue of custom class, and the bundle's classLoader is not PathClassLoader (points to the custom class's path), then it would fail - a BadParcelableException would throw. ActivityThread only sets the intent's mExtra's classLoader correctly. This leaves nested intents (1+ levels deep) with default bootClassLoader. This could also happen if the bundle comes from other IPC methods (not as a starting intent's extra bundle). This CL fixed this issue by handling The BadParcelableException. This skips collectExtraIntentKeys method for custom and nested class objects. See go/prevent-intent-redirect-customclass for details. Bug: 375969761 Test: Manual Flag: android.security.prevent_intent_redirect Change-Id: I8a1ad2030e28e4e69740d97cbd1366a874f3a2fc
Diffstat (limited to 'api/api.go')
0 files changed, 0 insertions, 0 deletions