Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 402c6559 authored by Eugene Susla's avatar Eugene Susla
Browse files

Avoid crashing permission controller when updating sensitive flags

Fixes: 128217556
Test: presubmit
Change-Id: Id3d619bdaa9e439c850cb18683fac7c0fa2f0fbe
parent 94f927f5
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -277,10 +277,19 @@ public class RoleControllerServiceImpl extends RoleControllerService {

            int numPerms = uidPermissions.size();
            for (int permNum = 0; permNum < numPerms; permNum++) {
                pm.updatePermissionFlags(uidPermissions.keyAt(permNum), uidPkgs[0],
                for (String uidPkg : uidPkgs) {
                    String perm = uidPermissions.keyAt(permNum);
                    try {
                        pm.updatePermissionFlags(perm, uidPkg,
                                PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED
                                        | PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED,
                                uidPermissions.valueAt(permNum), user);
                        break;
                    } catch (IllegalArgumentException e) {
                        Log.e(LOG_TAG, "Unexpected exception while updating flags for "
                                + uidPkg + " permission " + perm, e);
                    }
                }
            }
        }
    }