Filter package visibility in getPermissionGroupInfo().

Bug: 186113473
Test: manual
Change-Id: I584695034003f2a58f32d7c453d3a1835f14a31e
This commit is contained in:
Hai Zhang
2021-04-28 00:50:02 +00:00
parent 1700fa9e5c
commit 1090b7909e

View File

@@ -516,10 +516,24 @@ public class PermissionManagerService extends IPermissionManager.Stub {
if (mPackageManagerInt.getInstantAppPackageName(callingUid) != null) {
return null;
}
final PermissionGroupInfo permissionGroupInfo;
synchronized (mLock) {
return PackageInfoUtils.generatePermissionGroupInfo(
mRegistry.getPermissionGroup(groupName), flags);
final ParsedPermissionGroup permissionGroup = mRegistry.getPermissionGroup(groupName);
if (permissionGroup == null) {
return null;
}
permissionGroupInfo = PackageInfoUtils.generatePermissionGroupInfo(permissionGroup,
flags);
}
final int callingUserId = UserHandle.getUserId(callingUid);
if (mPackageManagerInt.filterAppAccess(permissionGroupInfo.packageName, callingUid,
callingUserId)) {
EventLog.writeEvent(0x534e4554, "186113473", callingUid, groupName);
return null;
}
return permissionGroupInfo;
}