summaryrefslogtreecommitdiffstats
path: root/media/libmedia
diff options
context:
space:
mode:
authorRobert Shih <robertshih@google.com>2015-09-02 16:46:59 -0700
committerRobert Shih <robertshih@google.com>2015-09-02 17:48:22 -0700
commit892354335d49f0b9fcd10e20e0c13e3cd0f1f1cb (patch)
treefc309fc843d7c9a627b59f0771c02edf4d1375ba /media/libmedia
parentf394f12167fddbc755855d06b615509517c99f14 (diff)
downloadframeworks_av-892354335d49f0b9fcd10e20e0c13e3cd0f1f1cb.zip
frameworks_av-892354335d49f0b9fcd10e20e0c13e3cd0f1f1cb.tar.gz
frameworks_av-892354335d49f0b9fcd10e20e0c13e3cd0f1f1cb.tar.bz2
Zero out return values in media binder calls
More specifically when handling: * GET_STREAM_VOLUME in IAudioPolicyService, and * GET_CURRENT_POSITION and GET_DURATION in IMediaPlayer This prevents leaking uninitialized values across binder in error cases. Bug: 23756261 Change-Id: I0ffd900ab12b685b0611259ade4a3efb1ec5defe
Diffstat (limited to 'media/libmedia')
-rw-r--r--media/libmedia/IAudioPolicyService.cpp2
-rw-r--r--media/libmedia/IMediaPlayer.cpp4
2 files changed, 3 insertions, 3 deletions
diff --git a/media/libmedia/IAudioPolicyService.cpp b/media/libmedia/IAudioPolicyService.cpp
index 9ffc486..0dab7e3 100644
--- a/media/libmedia/IAudioPolicyService.cpp
+++ b/media/libmedia/IAudioPolicyService.cpp
@@ -567,7 +567,7 @@ status_t BnAudioPolicyService::onTransact(
audio_stream_type_t stream =
static_cast <audio_stream_type_t>(data.readInt32());
audio_devices_t device = static_cast <audio_devices_t>(data.readInt32());
- int index;
+ int index = 0;
status_t status = getStreamVolumeIndex(stream, &index, device);
reply->writeInt32(index);
reply->writeInt32(static_cast <uint32_t>(status));
diff --git a/media/libmedia/IMediaPlayer.cpp b/media/libmedia/IMediaPlayer.cpp
index 9b57902..2a5c7a7 100644
--- a/media/libmedia/IMediaPlayer.cpp
+++ b/media/libmedia/IMediaPlayer.cpp
@@ -423,7 +423,7 @@ status_t BnMediaPlayer::onTransact(
} break;
case GET_CURRENT_POSITION: {
CHECK_INTERFACE(IMediaPlayer, data, reply);
- int msec;
+ int msec = 0;
status_t ret = getCurrentPosition(&msec);
reply->writeInt32(msec);
reply->writeInt32(ret);
@@ -431,7 +431,7 @@ status_t BnMediaPlayer::onTransact(
} break;
case GET_DURATION: {
CHECK_INTERFACE(IMediaPlayer, data, reply);
- int msec;
+ int msec = 0;
status_t ret = getDuration(&msec);
reply->writeInt32(msec);
reply->writeInt32(ret);