diff mbox

ALSA - hda: hdmi check NULL pointer in hdmi_set_chmap

Message ID 1459307322-24655-1-git-send-email-libin.yang@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

libin.yang@linux.intel.com March 30, 2016, 3:08 a.m. UTC
From: Libin Yang <libin.yang@linux.intel.com>

Make sure per_pin is not NULL before using it.

Signed-off-by: Libin Yang <libin.yang@linux.intel.com>
---
 sound/pci/hda/patch_hdmi.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Subhransu S. Prusty March 30, 2016, 4:39 a.m. UTC | #1
On Wed, Mar 30, 2016 at 08:38:42AM +0530, libin.yang@linux.intel.com wrote:
> From: Libin Yang <libin.yang@linux.intel.com>
> 
> Make sure per_pin is not NULL before using it.

Hi Libin,

In the beginning of ctl_put handler this NULL check is already done.
Are you supposed to call this set_chmap from other places too?

Regards,
Subhransu
> 
> Signed-off-by: Libin Yang <libin.yang@linux.intel.com>
> ---
>  sound/pci/hda/patch_hdmi.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
> index 4833c7b..c99289d 100644
> --- a/sound/pci/hda/patch_hdmi.c
> +++ b/sound/pci/hda/patch_hdmi.c
> @@ -1858,6 +1858,8 @@ static void hdmi_set_chmap(struct hdac_device *hdac, int pcm_idx,
>  	struct hdmi_spec *spec = codec->spec;
>  	struct hdmi_spec_per_pin *per_pin = pcm_idx_to_pin(spec, pcm_idx);
>  
> +	if (!per_pin)
> +		return;
>  	mutex_lock(&per_pin->lock);
>  	per_pin->chmap_set = true;
>  	memcpy(per_pin->chmap, chmap, ARRAY_SIZE(per_pin->chmap));
> -- 
> 1.9.1
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Yang, Libin March 30, 2016, 4:55 a.m. UTC | #2
Hi Subhransu,

> -----Original Message-----
> From: Prusty, Subhransu S
> Sent: Wednesday, March 30, 2016 12:40 PM
> To: libin.yang@linux.intel.com
> Cc: alsa-devel@alsa-project.org; tiwai@suse.de; Yang, Libin; Lin,
> Mengdong
> Subject: Re: [alsa-devel] [PATCH] ALSA - hda: hdmi check NULL pointer in
> hdmi_set_chmap
> 
> On Wed, Mar 30, 2016 at 08:38:42AM +0530, libin.yang@linux.intel.com
> wrote:
> > From: Libin Yang <libin.yang@linux.intel.com>
> >
> > Make sure per_pin is not NULL before using it.
> 
> Hi Libin,
> 
> In the beginning of ctl_put handler this NULL check is already done.
> Are you supposed to call this set_chmap from other places too?

I made the patch because it is required by the klocwork. It's not a real
bug so far, I think.

Regards,
Libin

> 
> Regards,
> Subhransu
> >
> > Signed-off-by: Libin Yang <libin.yang@linux.intel.com>
> > ---
> >  sound/pci/hda/patch_hdmi.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/sound/pci/hda/patch_hdmi.c
> b/sound/pci/hda/patch_hdmi.c
> > index 4833c7b..c99289d 100644
> > --- a/sound/pci/hda/patch_hdmi.c
> > +++ b/sound/pci/hda/patch_hdmi.c
> > @@ -1858,6 +1858,8 @@ static void hdmi_set_chmap(struct
> hdac_device *hdac, int pcm_idx,
> >  	struct hdmi_spec *spec = codec->spec;
> >  	struct hdmi_spec_per_pin *per_pin = pcm_idx_to_pin(spec,
> pcm_idx);
> >
> > +	if (!per_pin)
> > +		return;
> >  	mutex_lock(&per_pin->lock);
> >  	per_pin->chmap_set = true;
> >  	memcpy(per_pin->chmap, chmap, ARRAY_SIZE(per_pin-
> >chmap));
> > --
> > 1.9.1
> >
> > _______________________________________________
> > Alsa-devel mailing list
> > Alsa-devel@alsa-project.org
> > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 
> --
diff mbox

Patch

diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index 4833c7b..c99289d 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -1858,6 +1858,8 @@  static void hdmi_set_chmap(struct hdac_device *hdac, int pcm_idx,
 	struct hdmi_spec *spec = codec->spec;
 	struct hdmi_spec_per_pin *per_pin = pcm_idx_to_pin(spec, pcm_idx);
 
+	if (!per_pin)
+		return;
 	mutex_lock(&per_pin->lock);
 	per_pin->chmap_set = true;
 	memcpy(per_pin->chmap, chmap, ARRAY_SIZE(per_pin->chmap));