From c9801465b6c3a04750e4cdf312404849c6f59df0 Mon Sep 17 00:00:00 2001 From: "punyabrata@webrtc.org" Date: Tue, 29 Nov 2011 18:49:54 +0000 Subject: [PATCH] Adding a check to ensure that the memcpy does not exceed bounds of the arrays. Review URL: http://webrtc-codereview.appspot.com/290007 git-svn-id: http://webrtc.googlecode.com/svn/trunk@1055 4adac7df-926f-26a2-2b94-8c16560cd09d --- .../audio_device/main/source/audio_device_buffer.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/modules/audio_device/main/source/audio_device_buffer.cc b/src/modules/audio_device/main/source/audio_device_buffer.cc index e56b44d614..b5a78e3e74 100644 --- a/src/modules/audio_device/main/source/audio_device_buffer.cc +++ b/src/modules/audio_device/main/source/audio_device_buffer.cc @@ -612,6 +612,14 @@ WebRtc_Word32 AudioDeviceBuffer::GetPlayoutData(WebRtc_Word8* audioBuffer) { CriticalSectionScoped lock(_critSect); + if (_playSize > kMaxBufferSizeBytes) + { + WEBRTC_TRACE(kTraceError, kTraceUtility, _id, "_playSize %i exceeds " + "kMaxBufferSizeBytes in AudioDeviceBuffer::GetPlayoutData", _playSize); + assert(false); + return -1; + } + memcpy(audioBuffer, &_playBuffer[0], _playSize); if (_playFile.Open())