diff options
| -rw-r--r-- | packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java | 11 | 
1 files 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() {  |