diff options
author | dcashman <dcashman@google.com> | 2015-09-11 09:33:01 -0700 |
---|---|---|
committer | dcashman <dcashman@google.com> | 2015-09-11 15:57:53 -0700 |
commit | 014e91e471edba3f9b2c71ff6025274716b0f587 (patch) | |
tree | b14d8666d861a29213e1db4e355bed43124bf63f /services | |
parent | fefa614f92346e929921bfd47e3643861850bc2a (diff) | |
download | frameworks_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.cpp | 9 |
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"); |