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

Commit a4f65b96 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

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

Change-Id: I07f09ff939b35e06a8ecbda2829adf9889e3301c
parents bc98d330 6f2962e7
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) {