diff options
| author | 2017-03-31 14:08:23 -0600 | |
|---|---|---|
| committer | 2017-04-02 22:29:07 -0600 | |
| commit | fe9a53bc45fd0124a876dc0a49680aaf86641d3e (patch) | |
| tree | 56d1ea4b6f0fe98fa628a72f197cefa0fbabcb22 /services/usage/java | |
| parent | 21a5edcc24cbca1ae3f0855d71737b22ab81ad6d (diff) | |
Consistent dump() permission checking.
This change introduces new methods on DumpUtils that can check if the
caller has DUMP and/or PACKAGE_USAGE_STATS access. It then moves all
existing dump() methods to use these checks so that we emit
consistent error messages.
Test: cts-tradefed run commandAndExit cts-dev -m CtsSecurityTestCases -t android.security.cts.ServicePermissionsTest
Bug: 32806790
Change-Id: Iaff6b9506818ee082b1e169c89ebe1001b3bfeca
Diffstat (limited to 'services/usage/java')
| -rw-r--r-- | services/usage/java/com/android/server/usage/UsageStatsService.java | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java index 7be2b0fb8728..64a72eea2e99 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsService.java +++ b/services/usage/java/com/android/server/usage/UsageStatsService.java @@ -78,6 +78,7 @@ import com.android.internal.app.IBatteryStats; import com.android.internal.os.BackgroundThread; import com.android.internal.os.SomeArgs; import com.android.internal.util.ArrayUtils; +import com.android.internal.util.DumpUtils; import com.android.internal.util.IndentingPrintWriter; import com.android.server.SystemService; @@ -1465,13 +1466,7 @@ public class UsageStatsService extends SystemService implements @Override protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) { - if (getContext().checkCallingOrSelfPermission(android.Manifest.permission.DUMP) - != PackageManager.PERMISSION_GRANTED) { - pw.println("Permission Denial: can't dump UsageStats from pid=" - + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid() - + " without permission " + android.Manifest.permission.DUMP); - return; - } + if (!DumpUtils.checkDumpPermission(getContext(), TAG, pw)) return; UsageStatsService.this.dump(args, pw); } |