[alsa-devel] [PATCH] ASoC: rsnd: fix a possible NULL dereference

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Thu Nov 26 00:46:45 CET 2015


Hi LABBE

Thank you for your patch

> of_match_device could return NULL, and so cause a NULL pointer
> dereference later.
> Even if the probability of this case is very low, fixing it made
> static analyzers happy.
> Solving this with of_device_get_match_data made also code simplier.
> 
> Signed-off-by: LABBE Corentin <clabbe.montjoie at gmail.com>
> ---
>  sound/soc/sh/rcar/core.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
> index deed48e..54cc44c 100644
> --- a/sound/soc/sh/rcar/core.c
> +++ b/sound/soc/sh/rcar/core.c
> @@ -1204,7 +1204,6 @@ static int rsnd_probe(struct platform_device *pdev)
>  	struct rsnd_priv *priv;
>  	struct device *dev = &pdev->dev;
>  	struct rsnd_dai *rdai;
> -	const struct of_device_id *of_id = of_match_device(rsnd_of_match, dev);
>  	const struct rsnd_of_data *of_data;
>  	int (*probe_func[])(struct platform_device *pdev,
>  			    const struct rsnd_of_data *of_data,
> @@ -1221,11 +1220,13 @@ static int rsnd_probe(struct platform_device *pdev)
>  	};
>  	int ret, i;
>  
> +	of_data = of_device_get_match_data(dev);
> +	if (!of_data)
> +		return 1;

return 1 ?
You want to use -EINVAL ?



More information about the Alsa-devel mailing list