Check return value from call to of_match_device()
in order to prevent a NULL pointer dereference.

In case of NULL print error message and return -ENODEV

Signed-off-by: Gustavo A. R. Silva <garsi...@embeddedor.com>
---
 drivers/nvmem/imx-ocotp.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/nvmem/imx-ocotp.c b/drivers/nvmem/imx-ocotp.c
index 193ca8f..caa18cd 100644
--- a/drivers/nvmem/imx-ocotp.c
+++ b/drivers/nvmem/imx-ocotp.c
@@ -342,6 +342,11 @@ static int imx_ocotp_probe(struct platform_device *pdev)
                return PTR_ERR(priv->clk);
 
        of_id = of_match_device(imx_ocotp_dt_ids, dev);
+       if (!of_id) {
+               dev_err(dev, "failed to match device\n");
+               return -ENODEV;
+       }
+
        priv->nregs = (unsigned long)of_id->data;
        imx_ocotp_nvmem_config.size = 4 * priv->nregs;
        imx_ocotp_nvmem_config.dev = dev;
-- 
2.5.0

Reply via email to