| From 615a9bb577b3dcf93bd974e263924d0f07ba14ea Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 7 Apr 2021 11:20:27 +0200 |
| Subject: ASoC: simple-card: fix possible uninitialized single_cpu local |
| variable |
| |
| From: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> |
| |
| [ Upstream commit fa74c223b6fd78a5314b4c61b9abdbed3c2185b4 ] |
| |
| The 'single_cpu' local variable is assigned by asoc_simple_parse_dai() |
| and later used in a asoc_simple_canonicalize_cpu() call, assuming the |
| entire function did not exit on errors. |
| |
| However the first function returns 0 if passed device_node is NULL, |
| thus leaving the variable uninitialized and reporting success. |
| |
| Addresses-Coverity: Uninitialized scalar variable |
| Fixes: 8f7f298a3337 ("ASoC: simple-card-utils: separate asoc_simple_card_parse_dai()") |
| Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> |
| Acked-by: Sameer Pujar <spujar@nvidia.com> |
| Link: https://lore.kernel.org/r/20210407092027.60769-1-krzysztof.kozlowski@canonical.com |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| sound/soc/generic/audio-graph-card.c | 2 +- |
| sound/soc/generic/simple-card.c | 2 +- |
| 2 files changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/sound/soc/generic/audio-graph-card.c b/sound/soc/generic/audio-graph-card.c |
| index 16a04a678828..6245ca7bedb0 100644 |
| --- a/sound/soc/generic/audio-graph-card.c |
| +++ b/sound/soc/generic/audio-graph-card.c |
| @@ -380,7 +380,7 @@ static int graph_dai_link_of(struct asoc_simple_priv *priv, |
| struct device_node *top = dev->of_node; |
| struct asoc_simple_dai *cpu_dai; |
| struct asoc_simple_dai *codec_dai; |
| - int ret, single_cpu; |
| + int ret, single_cpu = 0; |
| |
| /* Do it only CPU turn */ |
| if (!li->cpu) |
| diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c |
| index 75365c7bb393..d916ec69c24f 100644 |
| --- a/sound/soc/generic/simple-card.c |
| +++ b/sound/soc/generic/simple-card.c |
| @@ -258,7 +258,7 @@ static int simple_dai_link_of(struct asoc_simple_priv *priv, |
| struct device_node *plat = NULL; |
| char prop[128]; |
| char *prefix = ""; |
| - int ret, single_cpu; |
| + int ret, single_cpu = 0; |
| |
| /* |
| * |CPU |Codec : turn |
| -- |
| 2.30.2 |
| |