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

Commit b94491cf authored by Hai Zhang's avatar Hai Zhang
Browse files

Fix PermissionManagerService throwing exception for unknown package.

The package might have been uninstalled asynchronously because we are
not holding the mPackages lock, so just log the error and return.

Fixes: 138670149
Test: presubmit
Change-Id: I7feeea85d2ab446e83e2101833e448cc962dd448
parent c7487391
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1197,7 +1197,8 @@ public class PermissionManagerService extends IPermissionManager.Stub {

        final PackageParser.Package pkg = mPackageManagerInt.getPackage(packageName);
        if (pkg == null || pkg.mExtras == null) {
            throw new IllegalArgumentException("Unknown package: " + packageName);
            Log.e(TAG, "Unknown package: " + packageName);
            return;
        }
        final BasePermission bp;
        synchronized (mLock) {
@@ -1357,7 +1358,8 @@ public class PermissionManagerService extends IPermissionManager.Stub {

        final PackageParser.Package pkg = mPackageManagerInt.getPackage(packageName);
        if (pkg == null || pkg.mExtras == null) {
            throw new IllegalArgumentException("Unknown package: " + packageName);
            Log.e(TAG, "Unknown package: " + packageName);
            return;
        }
        if (mPackageManagerInt.filterAppAccess(pkg, callingUid, userId)) {
            throw new IllegalArgumentException("Unknown package: " + packageName);