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

From: Viresh Kumar
Date: Tue Sep 27 2016 - 05:33:08 EST


On Sat, Sep 24, 2016 at 11:06 PM, Vaibhav Agarwal <vaibhav.sr@xxxxxxxxx> 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@xxxxxxxxxxxxx>
> Signed-off-by: Vaibhav Agarwal <vaibhav.sr@xxxxxxxxx>
> ---
> 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@xxxxxxxxxx>