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

Commit 60da5958 authored by Jackal Guo's avatar Jackal Guo Committed by Automerger Merge Worker
Browse files

Merge "Enforce the owner rights of dumpProfiles" into sc-dev am: ebca03d2

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

Change-Id: I5c9fa977d7d6076478f65a63d328e101bc0972e5
parents f6632f24 ebca03d2
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -12988,6 +12988,15 @@ public class PackageManagerService extends IPackageManager.Stub
    @Override
    public void dumpProfiles(String packageName) {
        /* Only the shell, root, or the app user should be able to dump profiles. */
        final int callingUid = Binder.getCallingUid();
        final String[] callerPackageNames = getPackagesForUid(callingUid);
        if (callingUid != Process.SHELL_UID
                && callingUid != Process.ROOT_UID
                && !ArrayUtils.contains(callerPackageNames, packageName)) {
            throw new SecurityException("dumpProfiles");
        }
        AndroidPackage pkg;
        synchronized (mLock) {
            pkg = mPackages.get(packageName);
@@ -12995,13 +13004,6 @@ public class PackageManagerService extends IPackageManager.Stub
                throw new IllegalArgumentException("Unknown package: " + packageName);
            }
        }
        /* Only the shell, root, or the app user should be able to dump profiles. */
        int callingUid = Binder.getCallingUid();
        if (callingUid != Process.SHELL_UID &&
            callingUid != Process.ROOT_UID &&
            callingUid != pkg.getUid()) {
            throw new SecurityException("dumpProfiles");
        }
        synchronized (mInstallLock) {
            Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "dump profiles");