From a67147a4a4d434291d2040fb38b667e9c0404e31 Mon Sep 17 00:00:00 2001 From: Alex Buynytskyy Date: Mon, 26 Jun 2023 05:00:58 +0000 Subject: Add null check for session_info. Bug: 288609881 Bug: 293915723 Test: presubmit Change-Id: Iec68681e940cbff68160c7300d1634f3e6cd2f46 (cherry picked from commit 6017d722122178fc34dd66293f30036984090045) Merged-In: Iec68681e940cbff68160c7300d1634f3e6cd2f46 --- .../src/com/android/packageinstaller/InstallStart.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java b/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java index 229b7a73a2a3..15446b6cc39b 100644 --- a/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java +++ b/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java @@ -279,9 +279,16 @@ public class InstallStart extends Activity { } private boolean isCallerSessionOwner(int originatingUid, int sessionId) { + if (originatingUid == Process.ROOT_UID) { + return true; + } PackageInstaller packageInstaller = getPackageManager().getPackageInstaller(); - int installerUid = packageInstaller.getSessionInfo(sessionId).getInstallerUid(); - return (originatingUid == Process.ROOT_UID) || (originatingUid == installerUid); + PackageInstaller.SessionInfo sessionInfo = packageInstaller.getSessionInfo(sessionId); + if (sessionInfo == null) { + return false; + } + int installerUid = sessionInfo.getInstallerUid(); + return originatingUid == installerUid; } private void checkDevicePolicyRestriction() { -- cgit v1.2.3-59-g8ed1b