summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2011-09-29 11:00:41 -0700
committerKenny Root <kroot@google.com>2011-09-29 11:04:15 -0700
commit3abd75ba3a981850cac43a401d0014a836559cb0 (patch)
treefe163a35d5f394f8304288b4722e2a674bac553f /core/java
parentb9c13d091efde4865ed5cfaf1c5a17b0bb17a38e (diff)
downloadframeworks_base-3abd75ba3a981850cac43a401d0014a836559cb0.zip
frameworks_base-3abd75ba3a981850cac43a401d0014a836559cb0.tar.gz
frameworks_base-3abd75ba3a981850cac43a401d0014a836559cb0.tar.bz2
Add DUMP permission checks to services
Some services have info that is not readily available any other way. Add a permission check to those services. Bug: 5389201 Change-Id: I5a9724ec89e1c11ef7813eeb52a6a05b3ea92af5
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/accounts/AccountManagerService.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/android/accounts/AccountManagerService.java b/core/java/android/accounts/AccountManagerService.java
index 173da8d..91def67 100644
--- a/core/java/android/accounts/AccountManagerService.java
+++ b/core/java/android/accounts/AccountManagerService.java
@@ -1811,6 +1811,14 @@ public class AccountManagerService
}
protected void dump(FileDescriptor fd, PrintWriter fout, String[] args) {
+ if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
+ != PackageManager.PERMISSION_GRANTED) {
+ fout.println("Permission Denial: can't dump AccountsManager from from pid="
+ + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid()
+ + " without permission " + android.Manifest.permission.DUMP);
+ return;
+ }
+
synchronized (mCacheLock) {
final SQLiteDatabase db = mOpenHelper.getReadableDatabase();