Re: [alsa-devel] ASoC: add Renesas R-Car module feature
Hello Kuninori Morimoto,
This is a semi-automatic email about new static checker warnings.
The patch cdaa3cdfb4a7: "ASoC: add Renesas R-Car module feature" from Jul 21, 2013, leads to the following Smatch complaint:
sound/soc/sh/rcar/core.c:294 rsnd_dai_connect() warn: variable dereferenced before check 'mod' (see line 291)
sound/soc/sh/rcar/core.c 290 { 291 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); ^^^^^^^^^^^^^^^^^^^^^ Dereference.
292 struct device *dev = rsnd_priv_to_dev(priv); 293 294 if (!mod) { ^^^^ Check.
295 dev_err(dev, "NULL mod\n"); 296 return -EIO;
regards, dan carpenter
rsnd_dai_connect() is using mod before NULL checking. This patch fixes it up
Reported-by: Dan Carpenter dan.carpenter@oracle.com Signed-off-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com --- sound/soc/sh/rcar/core.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index a357060..9134e80 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -324,15 +324,13 @@ int rsnd_dai_connect(struct rsnd_dai *rdai, struct rsnd_mod *mod, struct rsnd_dai_stream *io) { - struct rsnd_priv *priv = rsnd_mod_to_priv(mod); - struct device *dev = rsnd_priv_to_dev(priv); - - if (!mod) { - dev_err(dev, "NULL mod\n"); + if (!mod) return -EIO; - }
if (!list_empty(&mod->list)) { + struct rsnd_priv *priv = rsnd_mod_to_priv(mod); + struct device *dev = rsnd_priv_to_dev(priv); + dev_err(dev, "%s%d is not empty\n", rsnd_mod_name(mod), rsnd_mod_id(mod));
participants (3)
-
Dan Carpenter
-
Kuninori Morimoto
-
Mark Brown