memory: atmel-sdramc: fix a possible NULL dereference
authorLABBE Corentin <clabbe.montjoie@gmail.com>
Tue, 16 Aug 2016 13:53:18 +0000 (15:53 +0200)
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>
Wed, 31 Aug 2016 17:19:16 +0000 (19:19 +0200)
of_match_device could return NULL, and so cause a NULL pointer
dereference later.

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.

Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
drivers/memory/atmel-sdramc.c

index 53a341f..12080b0 100644 (file)
@@ -53,12 +53,10 @@ static const struct of_device_id atmel_ramc_of_match[] = {
 
 static int atmel_ramc_probe(struct platform_device *pdev)
 {
-       const struct of_device_id *match;
        const struct at91_ramc_caps *caps;
        struct clk *clk;
 
-       match = of_match_device(atmel_ramc_of_match, &pdev->dev);
-       caps = match->data;
+       caps = of_device_get_match_data(&pdev->dev);
 
        if (caps->has_ddrck) {
                clk = devm_clk_get(&pdev->dev, "ddrck");