mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-10-01 01:35:54 -04:00
275 lines
8.6 KiB
Diff
275 lines
8.6 KiB
Diff
From dc8f7a19762df2c84678482b60f6b807b919eb44 Mon Sep 17 00:00:00 2001
|
|
From: Weiyin Jiang <wjiang@codeaurora.org>
|
|
Date: Fri, 28 Jul 2017 11:01:40 +0800
|
|
Subject: [PATCH] SoC: msm: audio-effects: return directly to avoid integer
|
|
overflow
|
|
|
|
Return error code directly to avoid further integer overflow leading
|
|
to buffer overflow.
|
|
|
|
Bug: 62952032
|
|
Change-Id: I8b74efda227726494724f4387c45b5b6fa04637b
|
|
CRs-Fixed: 2077909
|
|
Signed-off-by: Weiyin Jiang <wjiang@codeaurora.org>
|
|
Signed-off-by: Paresh Purabhiya <ppurab@codeaurora.org>
|
|
---
|
|
sound/soc/msm/qdsp6v2/msm-audio-effects-q6-v2.c | 56 ++++++++++++-------------
|
|
1 file changed, 28 insertions(+), 28 deletions(-)
|
|
|
|
diff --git a/sound/soc/msm/qdsp6v2/msm-audio-effects-q6-v2.c b/sound/soc/msm/qdsp6v2/msm-audio-effects-q6-v2.c
|
|
index 2bcd339f1ff59..95c382ddb77b9 100644
|
|
--- a/sound/soc/msm/qdsp6v2/msm-audio-effects-q6-v2.c
|
|
+++ b/sound/soc/msm/qdsp6v2/msm-audio-effects-q6-v2.c
|
|
@@ -175,7 +175,7 @@ int msm_audio_effects_virtualizer_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"VIRT ENABLE", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_VIRTUALIZER;
|
|
*updt_params++ =
|
|
@@ -203,7 +203,7 @@ int msm_audio_effects_virtualizer_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"VIRT STRENGTH", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_VIRTUALIZER;
|
|
*updt_params++ =
|
|
@@ -231,7 +231,7 @@ int msm_audio_effects_virtualizer_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"VIRT OUT_TYPE", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_VIRTUALIZER;
|
|
*updt_params++ =
|
|
@@ -259,7 +259,7 @@ int msm_audio_effects_virtualizer_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"VIRT GAIN_ADJUST", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_VIRTUALIZER;
|
|
*updt_params++ =
|
|
@@ -338,7 +338,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_ENABLE", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -366,7 +366,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_MODE", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -394,7 +394,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_PRESET", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -422,7 +422,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_WET_MIX", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -450,7 +450,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_GAIN_ADJUST", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -478,7 +478,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_ROOM_LEVEL", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -506,7 +506,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_ROOM_HF_LEVEL", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -534,7 +534,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_DECAY_TIME", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -562,7 +562,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_DECAY_HF_RATIO", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -590,7 +590,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_REFLECTIONS_LEVEL", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -618,7 +618,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_REFLECTIONS_DELAY", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -646,7 +646,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_LEVEL", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -674,7 +674,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_DELAY", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -702,7 +702,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_DIFFUSION", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -730,7 +730,7 @@ int msm_audio_effects_reverb_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"REVERB_DENSITY", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_REVERB;
|
|
*updt_params++ =
|
|
@@ -810,7 +810,7 @@ int msm_audio_effects_bass_boost_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"BASS_BOOST_ENABLE", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_BASS_BOOST;
|
|
*updt_params++ =
|
|
@@ -838,7 +838,7 @@ int msm_audio_effects_bass_boost_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"BASS_BOOST_MODE", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_BASS_BOOST;
|
|
*updt_params++ =
|
|
@@ -866,7 +866,7 @@ int msm_audio_effects_bass_boost_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"BASS_BOOST_STRENGTH", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_BASS_BOOST;
|
|
*updt_params++ =
|
|
@@ -947,7 +947,7 @@ int msm_audio_effects_popless_eq_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"EQ_ENABLE", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_POPLESS_EQUALIZER;
|
|
*updt_params++ =
|
|
@@ -1015,7 +1015,7 @@ int msm_audio_effects_popless_eq_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"EQ_CONFIG", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_POPLESS_EQUALIZER;
|
|
*updt_params++ =
|
|
@@ -1066,7 +1066,7 @@ int msm_audio_effects_popless_eq_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"EQ_BAND_INDEX", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_POPLESS_EQUALIZER;
|
|
*updt_params++ =
|
|
@@ -1098,7 +1098,7 @@ int msm_audio_effects_popless_eq_handler(struct audio_client *ac,
|
|
MAX_INBAND_PARAM_SZ,
|
|
"EQ_SINGLE_BAND_FREQ", rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
*updt_params++ =
|
|
AUDPROC_MODULE_ID_POPLESS_EQUALIZER;
|
|
*updt_params++ =
|
|
@@ -1188,7 +1188,7 @@ static int __msm_audio_effects_volume_handler(struct audio_client *ac,
|
|
"VOLUME/VOLUME2_GAIN_2CH",
|
|
rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
if (instance == SOFT_VOLUME_INSTANCE_2)
|
|
*updt_params++ =
|
|
ASM_MODULE_ID_VOL_CTRL2;
|
|
@@ -1237,7 +1237,7 @@ static int __msm_audio_effects_volume_handler(struct audio_client *ac,
|
|
"VOLUME/VOLUME2_GAIN_MASTER",
|
|
rc);
|
|
if (rc != 0)
|
|
- break;
|
|
+ goto invalid_config;
|
|
if (instance == SOFT_VOLUME_INSTANCE_2)
|
|
*updt_params++ =
|
|
ASM_MODULE_ID_VOL_CTRL2;
|