usb: chipidea: usbmisc_imx: fix a possible NULL dereference
of_match_device could return NULL, and so cause a NULL pointer dereference later. Renaming tmp_dev to of_id (like all others do) in the process. Reported-by: coverity (CID 1324135) Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com> Signed-off-by: Peter Chen <peter.chen@freescale.com>
This commit is contained in:
parent
85da852df6
commit
090bc267ea
|
@ -500,7 +500,11 @@ static int usbmisc_imx_probe(struct platform_device *pdev)
|
|||
{
|
||||
struct resource *res;
|
||||
struct imx_usbmisc *data;
|
||||
struct of_device_id *tmp_dev;
|
||||
const struct of_device_id *of_id;
|
||||
|
||||
of_id = of_match_device(usbmisc_imx_dt_ids, &pdev->dev);
|
||||
if (!of_id)
|
||||
return -ENODEV;
|
||||
|
||||
data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
|
||||
if (!data)
|
||||
|
@ -513,9 +517,7 @@ static int usbmisc_imx_probe(struct platform_device *pdev)
|
|||
if (IS_ERR(data->base))
|
||||
return PTR_ERR(data->base);
|
||||
|
||||
tmp_dev = (struct of_device_id *)
|
||||
of_match_device(usbmisc_imx_dt_ids, &pdev->dev);
|
||||
data->ops = (const struct usbmisc_ops *)tmp_dev->data;
|
||||
data->ops = (const struct usbmisc_ops *)of_id->data;
|
||||
platform_set_drvdata(pdev, data);
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue