summaryrefslogtreecommitdiffstats
path: root/services/medialog
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2013-03-26 15:09:04 -0700
committerGlenn Kasten <gkasten@google.com>2013-03-26 15:09:04 -0700
commit4ee9962da3df1b4300eccdbd20910d82c5a61f63 (patch)
treed7a8200a0376734ebf84622860927f0ac08d3076 /services/medialog
parentdb372594bf27390d2bee089e35c5fb8f67370026 (diff)
downloadframeworks_av-4ee9962da3df1b4300eccdbd20910d82c5a61f63.zip
frameworks_av-4ee9962da3df1b4300eccdbd20910d82c5a61f63.tar.gz
frameworks_av-4ee9962da3df1b4300eccdbd20910d82c5a61f63.tar.bz2
media.log dump
Bug: 8446008 Change-Id: Ia47b204f5c4c91b99591eec5420a25a3dc8e7631
Diffstat (limited to 'services/medialog')
-rw-r--r--services/medialog/MediaLogService.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/services/medialog/MediaLogService.cpp b/services/medialog/MediaLogService.cpp
index 2332b3e..f60749d 100644
--- a/services/medialog/MediaLogService.cpp
+++ b/services/medialog/MediaLogService.cpp
@@ -19,6 +19,7 @@
#include <sys/mman.h>
#include <utils/Log.h>
+#include <binder/PermissionCache.h>
#include <media/nbaio/NBLog.h>
#include <private/android_filesystem_config.h>
#include "MediaLogService.h"
@@ -55,6 +56,14 @@ void MediaLogService::unregisterWriter(const sp<IMemory>& shared)
status_t MediaLogService::dump(int fd, const Vector<String16>& args)
{
+ // FIXME merge with similar but not identical code at services/audioflinger/ServiceUtilities.cpp
+ static const String16 sDump("android.permission.DUMP");
+ if (!(IPCThreadState::self()->getCallingUid() == AID_MEDIA ||
+ PermissionCache::checkCallingPermission(sDump))) {
+ fdprintf(fd, "Permission denied.\n");
+ return NO_ERROR;
+ }
+
Vector<NamedReader> namedReaders;
{
Mutex::Autolock _l(mLock);