aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWalter Yang <yandongy@codeaurora.org>2017-03-02 12:13:34 +0800
committerNick Desaulniers <ndesaulniers@google.com>2017-04-10 23:05:59 +0000
commit8b80faae52e5cca18ff114b5e69ac7733b2f14ab (patch)
tree9718a4209b435a5e915f1bd33210658cc962def2
parentd9426433e5d3159ef4f58d55f1ddffbca88a1c13 (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.c5
-rw-r--r--sound/soc/soc-pcm.c4
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;
+ }
}
}