From 4f36922db20e4b4a4481404a1d89bcc993e5ae9d Mon Sep 17 00:00:00 2001 From: Walter Yang Date: Thu, 2 Mar 2017 12:13:34 +0800 Subject: [PATCH] ASoC: Add backend user count check Add backend user count check to protect the index boundary. Change-Id: Ic1b61d1f7130252cc54da0b16553858714988dbd CRs-Fixed: 2009216 Signed-off-by: Walter Yang --- sound/soc/soc-compress.c | 5 +++++ sound/soc/soc-pcm.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c index 884e8f824ebd..01283301596b 100644 --- a/sound/soc/soc-compress.c +++ b/sound/soc/soc-compress.c @@ -691,6 +691,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 109e70bda96a..322e9c2dc19b 100644 --- a/sound/soc/soc-pcm.c +++ b/sound/soc/soc-pcm.c @@ -2761,6 +2761,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; + } } }