diff options
author | Walter Yang <yandongy@codeaurora.org> | 2017-03-02 12:13:34 +0800 |
---|---|---|
committer | Nick Desaulniers <ndesaulniers@google.com> | 2017-04-10 23:05:59 +0000 |
commit | 8b80faae52e5cca18ff114b5e69ac7733b2f14ab (patch) | |
tree | 9718a4209b435a5e915f1bd33210658cc962def2 | |
parent | d9426433e5d3159ef4f58d55f1ddffbca88a1c13 (diff) |
ASoC: Add backend user count checkingandroid-7.1.2_r0.13
Add backend user count checking to protect the index
boundary.
Bug: 33751424
Change-Id: Ic1b61d1f7130252cc54da0b16553858714988dbd
CRs-Fixed: 2009216
Signed-off-by: Walter Yang <yandongy@codeaurora.org>
Signed-off-by: Siqi Lin <siqilin@google.com>
-rw-r--r-- | sound/soc/soc-compress.c | 5 | ||||
-rw-r--r-- | sound/soc/soc-pcm.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c index cb57d3e688b1..1d112cc059b1 100644 --- a/sound/soc/soc-compress.c +++ b/sound/soc/soc-compress.c @@ -569,6 +569,11 @@ static int soc_compr_set_params_fe(struct snd_compr_stream *cstream, cstream, &async_domain); } else { be_list[j++] = be; + if (j == DPCM_MAX_BE_USERS) { + dev_dbg(fe->dev, + "ASoC: MAX backend users!\n"); + break; + } } } for (i = 0; i < j; i++) { diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c index 0e928a7fcec4..8206c3f0b9b7 100644 --- a/sound/soc/soc-pcm.c +++ b/sound/soc/soc-pcm.c @@ -1845,6 +1845,10 @@ void dpcm_be_dai_prepare_async(struct snd_soc_pcm_runtime *fe, int stream, dpcm, domain); } else { dpcm_async[i++] = dpcm; + if (i == DPCM_MAX_BE_USERS) { + dev_dbg(fe->dev, "ASoC: MAX backend users!\n"); + break; + } } } |