ASoC: fsl_asrc: Don't access members of config before checking it
authorNicolin Chen <nicoleotsuka@gmail.com>
Mon, 4 Aug 2014 04:19:49 +0000 (12:19 +0800)
committerMark Brown <broonie@linaro.org>
Mon, 4 Aug 2014 14:48:41 +0000 (15:48 +0100)
commit4e13eb722153a5ad66edd80bc26c3028d96a7b93
tree4d8180c5b4a13de2aa951c3f2024062ec4a446db
parent6ccf62c7bea561cca7ffbd50839f883327080800
ASoC: fsl_asrc: Don't access members of config before checking it

sound/soc/fsl/fsl_asrc.c:250 fsl_asrc_config_pair()
warn: variable dereferenced before check 'config' (see line 243)

git remote add next git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git remote update next
git checkout 3117bb3109dc223e186302f5dc8ce9ed04adca90
vim +/config +250 sound/soc/fsl/fsl_asrc.c

  237   */
  238  static int fsl_asrc_config_pair(struct fsl_asrc_pair *pair)
  239  {
  240   struct asrc_config *config = pair->config;
  241   struct fsl_asrc *asrc_priv = pair->asrc_priv;
  242   enum asrc_pair_index index = pair->index;
 @243   u32 inrate = config->input_sample_rate, indiv;
  244   u32 outrate = config->output_sample_rate, outdiv;
  245   bool ideal = config->inclk == INCLK_NONE;
  246   u32 clk_index[2], div[2];
  247   int in, out, channels;
  248   struct clk *clk;
  249
 @250   if (!config) {
  251           pair_err("invalid pair config\n");
  252           return -EINVAL;
  253   }

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/fsl/fsl_asrc.c