summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authordcashman <dcashman@google.com>2015-09-11 09:33:01 -0700
committerdcashman <dcashman@google.com>2015-09-11 15:57:53 -0700
commit014e91e471edba3f9b2c71ff6025274716b0f587 (patch)
treeb14d8666d861a29213e1db4e355bed43124bf63f /services
parentfefa614f92346e929921bfd47e3643861850bc2a (diff)
downloadframeworks_av-014e91e471edba3f9b2c71ff6025274716b0f587.zip
frameworks_av-014e91e471edba3f9b2c71ff6025274716b0f587.tar.gz
frameworks_av-014e91e471edba3f9b2c71ff6025274716b0f587.tar.bz2
Add DUMP permission check to ResourceManagerService.
Bug: 23999740 Change-Id: I3165404add455528b22951ba47b682a075b50087
Diffstat (limited to 'services')
-rw-r--r--services/mediaresourcemanager/ResourceManagerService.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/services/mediaresourcemanager/ResourceManagerService.cpp b/services/mediaresourcemanager/ResourceManagerService.cpp
index e54cc5a..4790754 100644
--- a/services/mediaresourcemanager/ResourceManagerService.cpp
+++ b/services/mediaresourcemanager/ResourceManagerService.cpp
@@ -96,6 +96,15 @@ status_t ResourceManagerService::dump(int fd, const Vector<String16>& /* args */
const size_t SIZE = 256;
char buffer[SIZE];
+ if (checkCallingPermission(String16("android.permission.DUMP")) == false) {
+ result.format("Permission Denial: "
+ "can't dump ResourceManagerService from pid=%d, uid=%d\n",
+ IPCThreadState::self()->getCallingPid(),
+ IPCThreadState::self()->getCallingUid());
+ write(fd, result.string(), result.size());
+ return PERMISSION_DENIED;
+ }
+
snprintf(buffer, SIZE, "ResourceManagerService: %p\n", this);
result.append(buffer);
result.append(" Policies:\n");