Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 829bc78a authored by Corentin LABBE's avatar Corentin LABBE Committed by Zhang Rui
Browse files

thermal: imx: fix a possible NULL dereference



of_match_device could return NULL, and so cause a NULL pointer
dereference later at line 472:
data->socdata = of_id->data;

For fixing this problem, we use of_device_get_match_data(), this will
simplify the code a little by using a standard function for
getting the match data.

Reported-by: coverity (CID 1324128)
Signed-off-by: default avatarLABBE Corentin <clabbe.montjoie@gmail.com>
Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
parent 55f2ac33
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -471,8 +471,6 @@ MODULE_DEVICE_TABLE(of, of_imx_thermal_match);

static int imx_thermal_probe(struct platform_device *pdev)
{
	const struct of_device_id *of_id =
		of_match_device(of_imx_thermal_match, &pdev->dev);
	struct imx_thermal_data *data;
	struct regmap *map;
	int measure_freq;
@@ -490,7 +488,7 @@ static int imx_thermal_probe(struct platform_device *pdev)
	}
	data->tempmon = map;

	data->socdata = of_id->data;
	data->socdata = of_device_get_match_data(&pdev->dev);

	/* make sure the IRQ flag is clear before enabling irq on i.MX6SX */
	if (data->socdata->version == TEMPMON_IMX6SX) {