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(  |