diff options
author | SathishKumar Mani <smani@codeaurora.org> | 2015-09-25 18:17:46 -0700 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2015-10-06 03:25:11 -0600 |
commit | 4d0485d7daead3a28cac12c2e2cea25c2ade654d (patch) | |
tree | f491ca8ce40faf88c01b2a043ea70f652c095ebb /services/audioflinger/Tracks.cpp | |
parent | 197cd79c6314ac2e14ce94624e21f3c4e38dca7c (diff) | |
download | frameworks_av-4d0485d7daead3a28cac12c2e2cea25c2ade654d.zip frameworks_av-4d0485d7daead3a28cac12c2e2cea25c2ade654d.tar.gz frameworks_av-4d0485d7daead3a28cac12c2e2cea25c2ade654d.tar.bz2 |
Stagefright: Add Checks for allocations
Warn allocation failures explicitly rather than crash
trying to access unallocated memory
Change-Id: Ie86c3ac130917e1f4030eb8207ac8350cba7711d
Diffstat (limited to 'services/audioflinger/Tracks.cpp')
-rw-r--r-- | services/audioflinger/Tracks.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/services/audioflinger/Tracks.cpp b/services/audioflinger/Tracks.cpp index f7da209..a45a6f8 100644 --- a/services/audioflinger/Tracks.cpp +++ b/services/audioflinger/Tracks.cpp @@ -24,6 +24,7 @@ #include <math.h> #include <sys/syscall.h> #include <utils/Log.h> +#include <media/stagefright/foundation/ADebug.h> #include <private/media/AudioTrackShared.h> @@ -1771,6 +1772,7 @@ bool AudioFlinger::PlaybackThread::OutputTrack::write(void* data, uint32_t frame if (mBufferQueue.size() < kMaxOverFlowBuffers) { pInBuffer = new Buffer; pInBuffer->mBuffer = malloc(inBuffer.frameCount * mFrameSize); + CHECK(pInBuffer->mBuffer != NULL); pInBuffer->frameCount = inBuffer.frameCount; pInBuffer->raw = pInBuffer->mBuffer; memcpy(pInBuffer->raw, inBuffer.raw, inBuffer.frameCount * mFrameSize); |