forked from rubenslte/android_kernel_samsung_msm8226
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> CVE-2017-11085 Signed-off-by: Kevin F. Haggerty <haggertk@lineageos.org>
This commit is contained in:
committed by
Francescodario Cuzzocrea
parent
a38bb7811d
commit
e7d67a6987
@@ -87,7 +87,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++ =
|
||||
@@ -115,7 +115,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++ =
|
||||
@@ -143,7 +143,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++ =
|
||||
@@ -171,7 +171,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++ =
|
||||
@@ -250,7 +250,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++ =
|
||||
@@ -278,7 +278,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++ =
|
||||
@@ -306,7 +306,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++ =
|
||||
@@ -334,7 +334,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++ =
|
||||
@@ -362,7 +362,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++ =
|
||||
@@ -390,7 +390,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++ =
|
||||
@@ -418,7 +418,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++ =
|
||||
@@ -446,7 +446,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++ =
|
||||
@@ -474,7 +474,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++ =
|
||||
@@ -502,7 +502,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++ =
|
||||
@@ -530,7 +530,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++ =
|
||||
@@ -558,7 +558,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++ =
|
||||
@@ -586,7 +586,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++ =
|
||||
@@ -614,7 +614,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++ =
|
||||
@@ -642,7 +642,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++ =
|
||||
@@ -722,7 +722,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++ =
|
||||
@@ -750,7 +750,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++ =
|
||||
@@ -778,7 +778,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++ =
|
||||
@@ -859,7 +859,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++ =
|
||||
@@ -927,7 +927,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++ =
|
||||
@@ -978,7 +978,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++ =
|
||||
@@ -1010,7 +1010,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++ =
|
||||
|
||||
Reference in New Issue
Block a user