From 4cb668392ee0433462251afbee109405c6efacc8 Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Fri, 1 May 2015 18:34:17 -0700 Subject: AudioRecord keeps track of UID Bug 20832981 Change-Id: If5f3c61fae02d86b9d6fdf411711f854fd56c77d --- media/libmedia/IAudioFlinger.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'media/libmedia/IAudioFlinger.cpp') diff --git a/media/libmedia/IAudioFlinger.cpp b/media/libmedia/IAudioFlinger.cpp index d48532e..d722fe9 100644 --- a/media/libmedia/IAudioFlinger.cpp +++ b/media/libmedia/IAudioFlinger.cpp @@ -178,6 +178,7 @@ public: size_t *pFrameCount, track_flags_t *flags, pid_t tid, + int clientUid, int *sessionId, size_t *notificationFrames, sp& cblk, @@ -197,6 +198,7 @@ public: track_flags_t lFlags = flags != NULL ? *flags : (track_flags_t) TRACK_DEFAULT; data.writeInt32(lFlags); data.writeInt32((int32_t) tid); + data.writeInt32((int32_t) clientUid); int lSessionId = AUDIO_SESSION_ALLOCATE; if (sessionId != NULL) { lSessionId = *sessionId; @@ -958,6 +960,7 @@ status_t BnAudioFlinger::onTransact( size_t frameCount = data.readInt64(); track_flags_t flags = (track_flags_t) data.readInt32(); pid_t tid = (pid_t) data.readInt32(); + int clientUid = data.readInt32(); int sessionId = data.readInt32(); size_t notificationFrames = data.readInt64(); sp cblk; @@ -965,7 +968,7 @@ status_t BnAudioFlinger::onTransact( status_t status; sp record = openRecord(input, sampleRate, format, channelMask, opPackageName, &frameCount, &flags, tid, - &sessionId, ¬ificationFrames, cblk, buffers, &status); + clientUid, &sessionId, ¬ificationFrames, cblk, buffers, &status); LOG_ALWAYS_FATAL_IF((record != 0) != (status == NO_ERROR)); reply->writeInt64(frameCount); reply->writeInt32(flags); -- cgit v1.1