aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSivacharan Paka <sipaka@codeaurora.org>2017-03-02 12:13:34 +0800
committerAriel Yin <ayin@google.com>2017-05-24 20:54:36 +0000
commit4e51b93189edfdc1356737b1ac59be596d93b6f8 (patch)
treec666bec68d7a19bfdac1f3c8da94b6187b3f2e9c
parent3c633fef2085a4eee017b9c40985bcee28539b8b (diff)
ASoC: Add backend user count checkingandroid-lego-7.1.1_r0.5
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>
-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 026e51b5ed12..bec8016937a2 100644
--- a/sound/soc/soc-compress.c
+++ b/sound/soc/soc-compress.c
@@ -573,6 +573,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 425250cc4a64..712ef982c271 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -1872,6 +1872,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;
+ }
}
}