[alsa-devel] [PATCH] ASoC: hdac_hdmi: Dereference 'edev' after checking for NULL
Subhransu S. Prusty
subhransu.s.prusty at intel.com
Wed Feb 17 10:21:52 CET 2016
On Wed, Feb 17, 2016 at 07:09:59AM -0200, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam at nxp.com>
>
> Commit 4a3478debf36 ("ASoC: hdac_hdmi: Add jack reporting")
> leads to the following Smatch complaint:
>
> sound/soc/codecs/hdac_hdmi.c:971 hdac_hdmi_present_sense()
> warn: variable dereferenced before check 'edev' (see line 967)
>
> ,so deference 'edev' after checking for NULL.
This NULL check is not required, can be removed.
edev object is expected to be present when the present_sense is called. This
is called from places where this edev object is already available.
Regards,
Subhransu
>
> Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
> Signed-off-by: Fabio Estevam <fabio.estevam at nxp.com>
> ---
> sound/soc/codecs/hdac_hdmi.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/sound/soc/codecs/hdac_hdmi.c b/sound/soc/codecs/hdac_hdmi.c
> index 36f1200..920af2f 100644
> --- a/sound/soc/codecs/hdac_hdmi.c
> +++ b/sound/soc/codecs/hdac_hdmi.c
> @@ -964,13 +964,15 @@ static int hdac_hdmi_add_cvt(struct hdac_ext_device *edev, hda_nid_t nid)
> static void hdac_hdmi_present_sense(struct hdac_hdmi_pin *pin, int repoll)
> {
> struct hdac_ext_device *edev = pin->edev;
> - struct hdac_hdmi_priv *hdmi = edev->private_data;
> + struct hdac_hdmi_priv *hdmi;
> struct hdac_hdmi_pcm *pcm;
> int val;
>
> if (!edev)
> return;
>
> + hdmi = edev->private_data;
> +
> pin->repoll_count = repoll;
>
> pm_runtime_get_sync(&edev->hdac.dev);
> --
> 1.9.1
>
--
More information about the Alsa-devel
mailing list