diff options
| author | 2024-02-15 23:04:00 +0000 | |
|---|---|---|
| committer | 2024-02-23 00:16:13 +0000 | |
| commit | 1ba16aa8bf4958ef8eca7d372c6c01acf9955824 (patch) | |
| tree | 0d5084f57fdaf3bbbbb1624e6cc6e3cd7f148059 | |
| parent | dc8c435c25677dc4ac6d3cc777a78cd6aea5c308 (diff) | |
Fix NPE when PermissionEntry.getGids() returns null.
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.
Bug: 325137277
Bug: 322197421
Test: system boots with flag enabled
Change-Id: I71a160d53b1a1b429019bb1973a892f78ccb0a17
Merged-In: I71a160d53b1a1b429019bb1973a892f78ccb0a17
(cherry picked from commit b0b149c456f3242f198bfe8559d12612c2afc15c)
| -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( |