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

Commit 5b78b001 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "RESTRICT AUTOMERGE Relax security exception for backport" into oc-dev

parents fc28b6b7 a2405766
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -4477,9 +4477,19 @@ public class PackageManagerService extends IPackageManager.Stub
        if ((flags & PackageManager.MATCH_ANY_USER) != 0) {
            // require the permission to be held; the calling uid and given user id referring
            // to the same user is not sufficient
            try {
                enforceCrossUserPermission(Binder.getCallingUid(), userId, false, false, true,
                        "MATCH_ANY_USER flag requires INTERACT_ACROSS_USERS permission at "
                        + Debug.getCallers(5));
            } catch (SecurityException se) {
                // For compatibility reasons, we can't throw a security exception here if we're
                // looking for applications in our own user id. Instead, unset the MATCH_ANY_USER
                // flag and move on.
                if (userId != UserHandle.getCallingUserId()) {
                    throw se;
                }
                flags &= ~PackageManager.MATCH_ANY_USER;
            }
        } else if ((flags & PackageManager.MATCH_UNINSTALLED_PACKAGES) != 0 && isCallerSystemUser
                && sUserManager.hasManagedProfile(UserHandle.USER_SYSTEM)) {
            // If the caller wants all packages and has a restricted profile associated with it,