summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrago <rago@google.com>2016-08-22 17:59:38 -0700
committerJessica Wagantall <jwagantall@cyngn.com>2016-11-10 14:09:28 -0800
commit1c75002939de4ba6c96b00b4e151b4bfb8156d75 (patch)
treec30843a93d39d543acb7ff1fd867ab59d052716b
parentc833d107d943bc9becf9d6f1df4e083acd12cb91 (diff)
downloadandroid_hardware_qcom_audio-1c75002939de4ba6c96b00b4e151b4bfb8156d75.tar.gz
android_hardware_qcom_audio-1c75002939de4ba6c96b00b4e151b4bfb8156d75.tar.bz2
android_hardware_qcom_audio-1c75002939de4ba6c96b00b4e151b4bfb8156d75.zip
Fix potential overflow in Visualizer effect
CYNGNOS-3303 Bug: 30229821 Change-Id: Iea1c4a21735e893aeded95b980044ec0861a7ea8 (cherry picked from commit 2fa52194ef64843c2908c69527384c6c2fcdbafa) (cherry picked from commit 57ac66340ad488a17fc285b6fc2635cb7375d72b)
-rw-r--r--visualizer/offload_visualizer.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/visualizer/offload_visualizer.c b/visualizer/offload_visualizer.c
index 5148f4ac..15ff9410 100644
--- a/visualizer/offload_visualizer.c
+++ b/visualizer/offload_visualizer.c
@@ -892,6 +892,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;