summaryrefslogtreecommitdiff
path: root/services/permission/java
diff options
context:
space:
mode:
author Yi-an Chen <theianchen@google.com> 2023-02-01 21:22:54 +0000
committer Yi-an Chen <theianchen@google.com> 2023-02-03 23:35:05 +0000
commit2e9e4b18204e0af29dbb219a0e1cff4f68e67411 (patch)
tree115a1fe374410f1dad04510c0ed711684fecc6c4 /services/permission/java
parentff73f8b3e010d981a09ef1271398a2af859ea742 (diff)
Fix NPE in UidPermissionPolicy
Bug: 263504888 Test: Build Change-Id: I6e4baa4527d3c06772d18f936f6cbf161b15a663
Diffstat (limited to 'services/permission/java')
-rw-r--r--services/permission/java/com/android/server/permission/access/permission/UidPermissionPolicy.kt6
1 files changed, 4 insertions, 2 deletions
diff --git a/services/permission/java/com/android/server/permission/access/permission/UidPermissionPolicy.kt b/services/permission/java/com/android/server/permission/access/permission/UidPermissionPolicy.kt
index a9884dd48371..37f3505ce792 100644
--- a/services/permission/java/com/android/server/permission/access/permission/UidPermissionPolicy.kt
+++ b/services/permission/java/com/android/server/permission/access/permission/UidPermissionPolicy.kt
@@ -196,7 +196,9 @@ class UidPermissionPolicy : SchemePolicy() {
val changedPermissionNames = IndexedSet<String>()
trimPermissions(packageName, changedPermissionNames)
- trimPermissionStates(appId)
+ if (appId in newState.systemState.appIds) {
+ trimPermissionStates(appId)
+ }
changedPermissionNames.forEachIndexed { _, permissionName ->
evaluatePermissionStateForAllPackages(permissionName, null)
}
@@ -1066,7 +1068,7 @@ class UidPermissionPolicy : SchemePolicy() {
state: AccessState = newState,
action: (PackageState) -> Unit
) {
- val packageNames = state.systemState.appIds[appId]
+ val packageNames = state.systemState.appIds[appId]!!
packageNames.forEachIndexed { _, packageName ->
val packageState = state.systemState.packageStates[packageName]!!
if (packageState.androidPackage != null) {