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/audiopolicy/service | |
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/audiopolicy/service')
-rw-r--r-- | services/audiopolicy/service/AudioPolicyEffects.cpp | 1 | ||||
-rw-r--r-- | services/audiopolicy/service/AudioPolicyEffects.h | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/services/audiopolicy/service/AudioPolicyEffects.cpp b/services/audiopolicy/service/AudioPolicyEffects.cpp index 282ddeb..e71d7a5 100644 --- a/services/audiopolicy/service/AudioPolicyEffects.cpp +++ b/services/audiopolicy/service/AudioPolicyEffects.cpp @@ -442,6 +442,7 @@ effect_param_t *AudioPolicyEffects::loadEffectParameter(cnode *root) size_t curSize = sizeof(effect_param_t); size_t totSize = sizeof(effect_param_t) + 2 * sizeof(int); effect_param_t *fx_param = (effect_param_t *)malloc(totSize); + CHECK(fx_param != NULL); param = config_find(root, PARAM_TAG); value = config_find(root, VALUE_TAG); diff --git a/services/audiopolicy/service/AudioPolicyEffects.h b/services/audiopolicy/service/AudioPolicyEffects.h index 3dec437..3845050 100644 --- a/services/audiopolicy/service/AudioPolicyEffects.h +++ b/services/audiopolicy/service/AudioPolicyEffects.h @@ -27,6 +27,8 @@ #include <utils/Vector.h> #include <utils/SortedVector.h> +#include <media/stagefright/foundation/ADebug.h> + namespace android { // ---------------------------------------------------------------------------- @@ -102,6 +104,7 @@ private: ((origParam->psize + 3) & ~3) + ((origParam->vsize + 3) & ~3); effect_param_t *dupParam = (effect_param_t *) malloc(origSize); + CHECK(dupParam != NULL); memcpy(dupParam, origParam, origSize); // This works because the param buffer allocation is also done by // multiples of 4 bytes originally. In theory we should memcpy only |