summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/com/android/settings/accounts/AccountTypePreferenceLoader.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/com/android/settings/accounts/AccountTypePreferenceLoader.java b/src/com/android/settings/accounts/AccountTypePreferenceLoader.java
index 71c71346adb..8ca74c85dd8 100644
--- a/src/com/android/settings/accounts/AccountTypePreferenceLoader.java
+++ b/src/com/android/settings/accounts/AccountTypePreferenceLoader.java
@@ -265,7 +265,14 @@ public class AccountTypePreferenceLoader {
try {
// Allows to launch only authenticator owned activities.
ApplicationInfo authenticatorAppInf = pm.getApplicationInfo(authDesc.packageName, 0);
- return resolvedAppInfo.uid == authenticatorAppInf.uid;
+ if (resolvedAppInfo.uid == authenticatorAppInf.uid) {
+ // Explicitly set the component to be same as authenticator to
+ // prevent launching arbitrary activities.
+ intent.setComponent(resolvedActivityInfo.getComponentName());
+ return true;
+ } else {
+ return false;
+ }
} catch (NameNotFoundException e) {
Log.e(TAG,
"Intent considered unsafe due to exception.",