[alsa-devel] [PATCH] ASoC: hdac_hdmi: Dereference 'edev' after checking for NULL

Fabio Estevam festevam at gmail.com
Wed Feb 17 10:09:59 CET 2016


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.

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