diff options
author | rago <rago@google.com> | 2016-08-22 17:59:38 -0700 |
---|---|---|
committer | gitbuildkicker <android-build@google.com> | 2016-09-27 15:58:54 -0700 |
commit | a57333035d7d21da2ddd5cf6bf59020231c52cea (patch) | |
tree | 687bf2be6624a36837e35ea09ebdbf4529b2bb39 | |
parent | 073a80800f341325932c66818ce4302b312909a4 (diff) | |
download | hardware_qcom_audio-a57333035d7d21da2ddd5cf6bf59020231c52cea.tar.gz hardware_qcom_audio-a57333035d7d21da2ddd5cf6bf59020231c52cea.tar.bz2 hardware_qcom_audio-a57333035d7d21da2ddd5cf6bf59020231c52cea.zip |
Fix potential overflow in Visualizer effect
Bug: 30229821
Change-Id: Iea1c4a21735e893aeded95b980044ec0861a7ea8
(cherry picked from commit 2fa52194ef64843c2908c69527384c6c2fcdbafa)
(cherry picked from commit 57ac66340ad488a17fc285b6fc2635cb7375d72b)
-rw-r--r-- | visualizer/offload_visualizer.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/visualizer/offload_visualizer.c b/visualizer/offload_visualizer.c index 9b25e5e5..69cea576 100644 --- a/visualizer/offload_visualizer.c +++ b/visualizer/offload_visualizer.c @@ -867,6 +867,14 @@ int visualizer_command(effect_context_t * context, uint32_t cmdCode, uint32_t cm break; case VISUALIZER_CMD_MEASURE: { + if (pReplyData == NULL || replySize == NULL || + *replySize < (sizeof(int32_t) * MEASUREMENT_COUNT)) { + ALOGV("%s VISUALIZER_CMD_MEASURE error *replySize %d <" + "(sizeof(int32_t) * MEASUREMENT_COUNT) %d", + __func__, *replySize, sizeof(int32_t) * MEASUREMENT_COUNT); + android_errorWriteLog(0x534e4554, "30229821"); + return -EINVAL; + } uint16_t peak_u16 = 0; float sum_rms_squared = 0.0f; uint8_t nb_valid_meas = 0; |