diff options
| -rw-r--r-- | services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt b/services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt index 571a2deba397..d7c1f9b116aa 100644 --- a/services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt +++ b/services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt @@ -586,8 +586,13 @@ class AppIdPermissionPolicy : SchemePolicy() { var areGidsPerUser = false if (!parsedPermission.isTree && packageState.isSystem) { newState.externalState.configPermissions[permissionName]?.let { - gids = it.gids - areGidsPerUser = it.perUser + // PermissionEntry.gids may return null when parsing legacy config trying + // to work around an issue about upgrading from L platfrm. We can just + // ignore such entries now. + if (it.gids != null) { + gids = it.gids + areGidsPerUser = it.perUser + } } } newPermission = Permission( |