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

Commit 49211c80 authored by Hai Zhang's avatar Hai Zhang Committed by Automerger Merge Worker
Browse files

Merge "Filter package visibility in getPermissionInfo()." into sc-dev am: 6f2962e7 am: a4f65b96

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14332594

Change-Id: I7dc7e897b2c18d313b2ba9f095c5ddbe2edcf2a7
parents da44ea04 a4f65b96
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -531,16 +531,26 @@ public class PermissionManagerService extends IPermissionManager.Stub {
        if (mPackageManagerInt.getInstantAppPackageName(callingUid) != null) {
            return null;
        }

        final AndroidPackage opPackage = mPackageManagerInt.getPackage(opPackageName);
        final int targetSdkVersion = getPermissionInfoCallingTargetSdkVersion(opPackage,
                callingUid);
        final PermissionInfo permissionInfo;
        synchronized (mLock) {
            final Permission bp = mRegistry.getPermission(permName);
            if (bp == null) {
                return null;
            }
            return bp.generatePermissionInfo(flags, targetSdkVersion);
            permissionInfo = bp.generatePermissionInfo(flags, targetSdkVersion);
        }

        final int callingUserId = UserHandle.getUserId(callingUid);
        if (mPackageManagerInt.filterAppAccess(permissionInfo.packageName, callingUid,
                callingUserId)) {
            EventLog.writeEvent(0x534e4554, "183122164", callingUid, permName);
            return null;
        }
        return permissionInfo;
    }

    private int getPermissionInfoCallingTargetSdkVersion(@Nullable AndroidPackage pkg, int uid) {