From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934172AbdA0LWY (ORCPT ); Fri, 27 Jan 2017 06:22:24 -0500 Received: from mailout3.samsung.com ([203.254.224.33]:53482 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933713AbdA0LWN (ORCPT ); Fri, 27 Jan 2017 06:22:13 -0500 X-AuditID: b6c32a35-f79166d000001a4b-f1-588b2ac8321c From: Shailendra Verma To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, p.shailesh@samsung.com, ashish.kalra@samsung.com, Shailendra Verma , Shailendra Verma Subject: [PATCH] sound: soc: davinci - Fix possible NULL derefrence. Date: Fri, 27 Jan 2017 16:40:57 +0530 Message-id: <1485515457-3055-1-git-send-email-shailendra.v@samsung.com> X-Mailer: git-send-email 1.7.9.5 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrAIsWRmVeSWpSXmKPExsWy7bCmru4Jre4Ig4MbRS2uXDzEZHF/2jd2 i6kPn7BZfLvSwWRxedccNosdU1pZLDp39bNa3Jo3k81i0bdXzBYbvq9ldODy2PC5ic1j56y7 7B6bVnWyeex7u4zNo2/LKkaP9Vuusnh83iQXwB7FZZOSmpNZllqkb5fAldG6opOtYC9XxcWv 1xkbGN9xdDFyckgImEiceP2eEcIWk7hwbz1bFyMXh5DADkaJOVt3MEM4nxklTjXtYYbpWHtu BVRiJaPE7ncL2EASbAKGEq/7/jKBJEQEHjBJ/Dr9nR0kISzgInHwwAEWEJtFQFViRVMjE4jN K+AuMWPlDdYuRg6gqQoScybZgPRKCLxmk5hzu58FIi4rsekA1GIXiWXtl1ggbGGJV8e3sEPY UhLNHz+wQvQeY5R4/HwxE4RzmVFiy+llUFX2EtduvQazmQX4JN597YFazCvR0SYEUeIh8az9 GhOE7Sgx8f8ZMFtIIFZi74e7jBMYJRcwMqxiFEstKM5NTy02LDDUK07MLS7NS9dLzs/dxAiO Vy3THYxTzvkcYhTgYFTi4Y2Q74oQYk0sK67MPcQowcGsJMKrK9YdIcSbklhZlVqUH19UmpNa fIhRmoNFSZx3caN1hJBAemJJanZqakFqEUyWiYNTqoHRViE22CIqv8RvrdBJ5ymmR1+/rqnJ W/Et4vCpM2anslWebZV/M0vNb+ea7Qop0UtarTuPffrz5+DG1SHZ2W3SFwqen9+7ft2EqMr3 dfrs0+4+E4pe1SdxKniZT8/DdVnc57ViFn3duF5b+KWk+YVpr+12aKle+ntprXv1n+VTFE/t DzkZ+nPHDyWW4oxEQy3mouJEAB75yb7TAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrMLMWRmVeSWpSXmKPExsWSnbNCVfe4VneEwZoNNhZXLh5isrg/7Ru7 xdSHT9gsvl3pYLK4vGsOm8WOKa0sFp27+lktbs2byWax6NsrZosN39cyOnB5bPjcxOaxc9Zd do9NqzrZPPa9Xcbm0bdlFaPH+i1XWTw+b5ILYI9ys8lITUxJLVJIzUvOT8nMS7dVCg1x07VQ UshLzE21VYrQ9Q0JUlIoS8wpBfKMDNCAg3OAe7CSvl2CW0brik62gr1cFRe/XmdsYHzH0cXI ySEhYCKx9twKZghbTOLCvfVsXYxcHEICyxkl1nz/wgiSYBMwlHjd95cJJCEi8IJJ4vTdeUwg CWEBF4mDBw6wgNgsAqoSK5oaweK8Au4SM1beYO1i5ACaqiAxZ5LNBEbOBYwMqxjFUguKc9Nz iwsMDPWKE3OLS/PS9ZLzczcxAgN022ElsR2MbSu8DjEKcDAq8fAmsHdHCLEmlhVX5h5ilOBg VhLh1RUDCvGmJFZWpRblxxeV5qQWH2I0Bdo+kVlKNDkfGD15JfGGJqYWFhYmlsbGxhYmSuK8 sdOfhQsJpCeWpGanphakFsH0MXFwSjUwTs3Jfae0pH2N/tf9L+7uunlIw1l54gdVDf7vXw7f 2VynP2vlQb9V/cWfUprVA0Re37r0ftuEMvfL5Y+Uf/cHrwu74Xvlw0kB7qXmcSrTUvYun2W2 UH0LU7zE3l/8d063fj/28X9v/sn95sLrolJckn4kJGv8KKo+eNJn9vtJ997xbI2ZLztvXrMS S3FGoqEWc1FxIgDuJGmbZgIAAA== X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170127111104epcas1p2810feef80b04b21983efd16c00b1b651 X-Msg-Generator: CA X-Sender-IP: 182.195.34.22 X-Local-Sender: =?UTF-8?B?U2hhaWxlbmRyYSBWZXJtYRtTUkktTm9pZGEtQ29tbWVyY2lh?= =?UTF-8?B?bCBSJkQgIFN5c3RlbSBTL1cgR3JvdXAb7IK87ISx7KCE7J6QG0xlYWQgRW5n?= =?UTF-8?B?aW5lZXIvQ29ycG9yYXRlIEVuZ2luZWVy?= X-Global-Sender: =?UTF-8?B?U2hhaWxlbmRyYSBWZXJtYRtTUkktTm9pZGEtQ29tbWVyY2lh?= =?UTF-8?B?bCBSJkQgIFN5c3RlbSBTL1cgR3JvdXAbU2Ftc3VuZyBFbGVjdHJvbmljcxtM?= =?UTF-8?B?ZWFkIEVuZ2luZWVyL0NvcnBvcmF0ZSBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG1NXQUhRG0MxMElaMDFJWjAxODEyMA==?= CMS-TYPE: 101P X-HopCount: 7 X-CMS-RootMailID: 20170127111104epcas1p2810feef80b04b21983efd16c00b1b651 X-RootMTR: 20170127111104epcas1p2810feef80b04b21983efd16c00b1b651 References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org of_match_device could return NULL, and so can cause a NULL pointer dereference later. Signed-off-by: Shailendra Verma --- sound/soc/davinci/davinci-evm.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/sound/soc/davinci/davinci-evm.c b/sound/soc/davinci/davinci-evm.c index 731fb0d..7a369e0 100644 --- a/sound/soc/davinci/davinci-evm.c +++ b/sound/soc/davinci/davinci-evm.c @@ -358,13 +358,20 @@ static int evm_aic3x_init(struct snd_soc_pcm_runtime *rtd) static int davinci_evm_probe(struct platform_device *pdev) { struct device_node *np = pdev->dev.of_node; - const struct of_device_id *match = - of_match_device(of_match_ptr(davinci_evm_dt_ids), &pdev->dev); - struct snd_soc_dai_link *dai = (struct snd_soc_dai_link *) match->data; + const struct of_device_id *match; + struct snd_soc_dai_link *dai; struct snd_soc_card_drvdata_davinci *drvdata = NULL; struct clk *mclk; int ret = 0; + match = of_match_device(of_match_ptr(davinci_evm_dt_ids), &pdev->dev); + if (!match) { + dev_err(&pdev->dev, "Error: No device match found\n"); + return -ENODEV; + } + + dai = (struct snd_soc_dai_link *) match->data; + evm_soc_card.dai_link = dai; dai->codec_of_node = of_parse_phandle(np, "ti,audio-codec", 0); -- 1.7.9.5