From 4a4fea0752c8edd33d680765e97ee3b538d777a5 Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Fri, 29 Aug 2014 18:14:09 -0700 Subject: [PATCH] Restore permission check for mic muting The implementation for AudioManager.setMicrophoneMute() used to call directly into AudioSystem which called directly into AudioFlinger and the mediaserver process, where the check for the MODIFY_AUDIO_SETTINGS is performed. A regression was introduced by Ib32138bcc256cfbac4fe21a090d5ba34f5c641fc which calls first into AudioService which runs in system_process before calling into AudioSystem, which granted the permission. This CL adds a permission check in this code path when calling AudioService. Bug 17259652 Change-Id: I4ac5269262eb90df80ee81db6ec3d96977ee53be --- media/java/android/media/AudioService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java index e97e2dcfa7481..6f74005f5949a 100644 --- a/media/java/android/media/AudioService.java +++ b/media/java/android/media/AudioService.java @@ -1561,6 +1561,9 @@ public class AudioService extends IAudioService.Stub { callingPackage) != AppOpsManager.MODE_ALLOWED) { return; } + if (!checkAudioSettingsPermission("setMicrophoneMute()")) { + return; + } AudioSystem.muteMicrophone(on); }