Re: [patch] ASoC: hdac_hdmi: Potential NULL deref in hdac_hdmi_get_spk_alloc()

From: Vinod Koul
Date: Tue May 03 2016 - 05:50:44 EST


On Tue, May 03, 2016 at 10:42:58AM +0300, Dan Carpenter wrote:
> We intended || here instead of &&. The original code potentially leads
> to a NULL dereference.

This looks good to me, I will test this and get back

>
> Fixes: 2889099eb8cd ('ASoC: hdac_hdmi: Register chmap controls and ops')
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
>
> diff --git a/sound/soc/codecs/hdac_hdmi.c b/sound/soc/codecs/hdac_hdmi.c
> index 3043120..7e7ff1b 100644
> --- a/sound/soc/codecs/hdac_hdmi.c
> +++ b/sound/soc/codecs/hdac_hdmi.c
> @@ -1609,7 +1609,7 @@ static int hdac_hdmi_get_spk_alloc(struct hdac_device *hdac, int pcm_idx)
> struct hdac_hdmi_pcm *pcm = get_hdmi_pcm_from_id(hdmi, pcm_idx);
> struct hdac_hdmi_pin *pin = pcm->pin;
>
> - if (!pin && !pin->eld.eld_valid)
> + if (!pin || !pin->eld.eld_valid)
> return 0;
>
> return pin->eld.info.spk_alloc;

--
~Vinod