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

Commit 99e06bcf authored by Rhed Jao's avatar Rhed Jao Committed by Automerger Merge Worker
Browse files

Merge "Enforce package visibility to the api checkUriPermission" into sc-dev...

Merge "Enforce package visibility to the api checkUriPermission" into sc-dev am: 293b6bf6 am: 12b786f6

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15065730

Change-Id: I3e50b88cd1023f2a2a8c52a58ceee1de9b785e4f
parents 7bfe4fc7 12b786f6
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -5690,6 +5690,16 @@ public class ActivityManagerService extends IActivityManager.Stub
        if (pid == MY_PID) {
        if (pid == MY_PID) {
            return PackageManager.PERMISSION_GRANTED;
            return PackageManager.PERMISSION_GRANTED;
        }
        }
        try {
            if (uid != 0) { // bypass the root
                final String[] packageNames = getPackageManager().getPackagesForUid(uid);
                if (ArrayUtils.isEmpty(packageNames)) {
                    // The uid is not existed or not visible to the caller.
                    return PackageManager.PERMISSION_DENIED;
                }
            }
        } catch (RemoteException e) {
        }
        return mUgmInternal.checkUriPermission(new GrantUri(userId, uri, modeFlags), uid, modeFlags)
        return mUgmInternal.checkUriPermission(new GrantUri(userId, uri, modeFlags), uid, modeFlags)
                ? PackageManager.PERMISSION_GRANTED : PackageManager.PERMISSION_DENIED;
                ? PackageManager.PERMISSION_GRANTED : PackageManager.PERMISSION_DENIED;
    }
    }