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

Commit 544b3835 authored by Todd Kennedy's avatar Todd Kennedy
Browse files

make sure package info is non-null

Change-Id: Ib867075a79712de36c46f862d13e5fc1d0958f00
Fixes: 64812776
Test: manual
parent 003bd7e3
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import static com.android.server.pm.PackageInstallerService.prepareStageDir;

import android.Manifest;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.content.Intent;
@@ -732,7 +733,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
     *
     * @param pkgInfo The package info for {@link #params}.packagename
     */
    private void sealAndValidateLocked(PackageInfo pkgInfo)
    private void sealAndValidateLocked(@Nullable PackageInfo pkgInfo)
            throws PackageManagerException {
        assertNoWriteFileTransfersOpenLocked();

@@ -924,7 +925,8 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
     * Note that upgrade compatibility is still performed by
     * {@link PackageManagerService}.
     */
    private void validateInstallLocked(PackageInfo pkgInfo) throws PackageManagerException {
    private void validateInstallLocked(@Nullable PackageInfo pkgInfo)
            throws PackageManagerException {
        mPackageName = null;
        mVersionCode = -1;
        mSignatures = null;
@@ -1005,6 +1007,11 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
        }

        if (removeSplitList.size() > 0) {
            if (pkgInfo == null) {
                throw new PackageManagerException(INSTALL_FAILED_INVALID_APK,
                        "Missing existing base package for " + mPackageName);
            }

            // validate split names marked for removal
            for (String splitName : removeSplitList) {
                if (!ArrayUtils.contains(pkgInfo.splitNames, splitName)) {