diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-11-08 21:50:02 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-11-08 21:50:02 +0000 |
commit | 992cfbf63d13e9490f4726119733fda7f638089c (patch) | |
tree | 1397b3133315b80aebb453dc337b1e9a7103b39b /src | |
parent | 45656e296fb53ec0f60dc1ec00b06637a395bb43 (diff) | |
parent | 7e04887e5945c193bd5abf92ec6092b3a2295a04 (diff) | |
download | packages_apps_Trebuchet-992cfbf63d13e9490f4726119733fda7f638089c.tar.gz packages_apps_Trebuchet-992cfbf63d13e9490f4726119733fda7f638089c.tar.bz2 packages_apps_Trebuchet-992cfbf63d13e9490f4726119733fda7f638089c.zip |
Merge "Address SessionCommitReceiver vulnerability by validating intent." into ub-launcher3-qt-future-dev
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/SessionCommitReceiver.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/com/android/launcher3/SessionCommitReceiver.java b/src/com/android/launcher3/SessionCommitReceiver.java index 6853bf694..a87c44658 100644 --- a/src/com/android/launcher3/SessionCommitReceiver.java +++ b/src/com/android/launcher3/SessionCommitReceiver.java @@ -71,8 +71,13 @@ public class SessionCommitReceiver extends BroadcastReceiver { SessionInfo info = intent.getParcelableExtra(PackageInstaller.EXTRA_SESSION); UserHandle user = intent.getParcelableExtra(Intent.EXTRA_USER); - PackageInstallerCompat packageInstallerCompat = PackageInstallerCompat.getInstance(context); + if (!PackageInstaller.ACTION_SESSION_COMMITTED.equals(intent.getAction()) + || info == null || user == null) { + // Invalid intent. + return; + } + PackageInstallerCompat packageInstallerCompat = PackageInstallerCompat.getInstance(context); if (TextUtils.isEmpty(info.getAppPackageName()) || info.getInstallReason() != PackageManager.INSTALL_REASON_USER || packageInstallerCompat.promiseIconAddedForId(info.getSessionId())) { |