From 528a87e90ff9354581d54fd37fbe9f95cccbcdb1 Mon Sep 17 00:00:00 2001 From: Yi-an Chen Date: Wed, 21 Feb 2024 01:56:22 +0000 Subject: Fix error handling for non-dynamic permissions We only allow removing dynamic permissions. When removePermission() is called for a non-dynamic permission, in addition to logging it, we should also return early to avoid the removePermission() call. Test: manual Bug: 321555066 Fixes: 321711213 Change-Id: Ie2f43663bc71a06ffadb868d2d0eea5ee78f76e5 --- .../com/android/server/pm/permission/PermissionManagerServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java index 5eff14f24f77..f2834fd8b997 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java @@ -678,6 +678,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt // TODO: switch this back to SecurityException Slog.wtf(TAG, "Not allowed to modify non-dynamic permission " + permName); + return; } mRegistry.removePermission(permName); } -- cgit v1.2.3-59-g8ed1b