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

Skip to content
Commit ae56df41 authored by Nan Wu's avatar Nan Wu
Browse files

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
parent beed0e80
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment