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
commitbc5120797e0d2995b63a96306b638d1d0d8457d0 (patch)
tree1f02061c8fc385dc6b7884719bc2cc8b8ea0c77d /services/medialog
parent6386b50b67185a966d43ee761acdfe7add569d10 (diff)
downloadframeworks_av-bc5120797e0d2995b63a96306b638d1d0d8457d0.zip
frameworks_av-bc5120797e0d2995b63a96306b638d1d0d8457d0.tar.gz
frameworks_av-bc5120797e0d2995b63a96306b638d1d0d8457d0.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);