summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authordcashman <dcashman@google.com>2015-09-11 09:33:01 -0700
committerDaniel Cashman <dcashman@google.com>2015-09-14 20:57:04 +0000
commitf86a441cb5b0dccd3106019e578c3535498e5315 (patch)
tree1e9f60fbd6870c8994653fb69d0c4eb0bbb24f64 /services
parent4374b187e5e72056f8e814dae752b62cb60fc9a4 (diff)
downloadframeworks_av-f86a441cb5b0dccd3106019e578c3535498e5315.zip
frameworks_av-f86a441cb5b0dccd3106019e578c3535498e5315.tar.gz
frameworks_av-f86a441cb5b0dccd3106019e578c3535498e5315.tar.bz2
Add DUMP permission check to ResourceManagerService.
Bug: 23999740 Change-Id: I3165404add455528b22951ba47b682a075b50087 (cherry picked from commit 014e91e471edba3f9b2c71ff6025274716b0f587)
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");