[PATCH] greybus: audio: fix uninitialized variable errors found by cppcheck

Viresh Kumar viresh.kumar at linaro.org
Tue Sep 27 09:32:47 UTC 2016


On Sat, Sep 24, 2016 at 11:06 PM, Vaibhav Agarwal <vaibhav.sr at gmail.com> wrote:
> Currently, if info is null, the dev_err message is dereferencing an
> uninitialized module pointer.  Instead, it should use codec->dev pointer
> in dev_err call and better align with other err msg in this function.
>
> Also, ret variable might be used uninitialized in a specific case.
> Avoid using it this way.
>
> Found using static analysis with cppcheck:
> Checking drivers/staging/greybus/audio_topology.c...
> [drivers/staging/greybus/audio_topology.c:175]: (error) Uninitialized
> variable: module
> [drivers/staging/greybus/audio_topology.c:495]: (error) Uninitialized
> variable: ret
>
> Reported-by: Colin Ian King <colin.king at canonical.com>
> Signed-off-by: Vaibhav Agarwal <vaibhav.sr at gmail.com>
> ---
>  drivers/staging/greybus/audio_topology.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/greybus/audio_topology.c b/drivers/staging/greybus/audio_topology.c
> index f9f33817a092..b6251691a33d 100644
> --- a/drivers/staging/greybus/audio_topology.c
> +++ b/drivers/staging/greybus/audio_topology.c
> @@ -172,7 +172,7 @@ static int gbcodec_mixer_ctl_info(struct snd_kcontrol *kcontrol,
>         info = (struct gb_audio_ctl_elem_info *)data->info;
>
>         if (!info) {
> -               dev_err(module->dev, "NULL info for %s\n", uinfo->id.name);
> +               dev_err(codec->dev, "NULL info for %s\n", uinfo->id.name);
>                 return -EINVAL;
>         }
>
> @@ -489,10 +489,11 @@ static int gbcodec_mixer_dapm_ctl_put(struct snd_kcontrol *kcontrol,
>                         dev_err_ratelimited(codec->dev,
>                                             "%d:Error in %s for %s\n", ret,
>                                             __func__, kcontrol->id.name);
> +                       return ret;
>                 }
>         }
>
> -       return ret;
> +       return 0;
>  }
>
>  #define SOC_DAPM_MIXER_GB(xname, kcount, data) \

Acked-by: Viresh Kumar <viresh.kumar at linaro.org>


More information about the devel mailing list