From 4d8adefd35efdea849611b8b02d61f9517e47760 Mon Sep 17 00:00:00 2001 From: Dave Sparks Date: Thu, 21 May 2009 10:02:21 -0700 Subject: [PATCH] AI 149136: Restore RECORD_AUDIO permission check to MediaRecorder. When we moved the media recorder to the media server process, we lost the permission check that was done at the process boundary in the AudioRecord binder interface because the AudioRecord object is created in the same process. This change adds a permission check in the MediaRecorderClient:setAudioSource() method. BUG=1868334 Automated import of CL 149136 --- media/libmediaplayerservice/MediaRecorderClient.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/media/libmediaplayerservice/MediaRecorderClient.cpp b/media/libmediaplayerservice/MediaRecorderClient.cpp index e0d29474dc2f8..8bc410cbbe913 100644 --- a/media/libmediaplayerservice/MediaRecorderClient.cpp +++ b/media/libmediaplayerservice/MediaRecorderClient.cpp @@ -37,6 +37,7 @@ namespace android { const char* cameraPermission = "android.permission.CAMERA"; +const char* recordAudioPermission = "android.permission.RECORD_AUDIO"; static bool checkPermission(const char* permissionString) { #ifndef HAVE_ANDROID_OS @@ -86,6 +87,9 @@ status_t MediaRecorderClient::setVideoSource(int vs) status_t MediaRecorderClient::setAudioSource(int as) { LOGV("setAudioSource(%d)", as); + if (!checkPermission(recordAudioPermission)) { + return PERMISSION_DENIED; + } Mutex::Autolock lock(mLock); if (mRecorder == NULL) { LOGE("recorder is not initialized");