regulator: Avoid potential NULL dereference in reg_fixed_voltage_probe()
authorAxel Lin <axel.lin@gmail.com>
Sun, 27 Nov 2011 12:07:57 +0000 (20:07 +0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Sun, 27 Nov 2011 19:46:31 +0000 (19:46 +0000)
of_get_fixed_voltage_config() may return NULL, return -ENOMEM in this case
so we don't dereference NULL pointer.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/regulator/fixed.c

index 703c26b756dcf0e41627860d17a26e898fa8c23a..ebec5e06dfa142f9003ec54b31dd53686b5d6291 100644 (file)
@@ -160,12 +160,17 @@ static struct regulator_ops fixed_voltage_ops = {
 
 static int __devinit reg_fixed_voltage_probe(struct platform_device *pdev)
 {
-       struct fixed_voltage_config *config = pdev->dev.platform_data;
+       struct fixed_voltage_config *config;
        struct fixed_voltage_data *drvdata;
        int ret;
 
        if (pdev->dev.of_node)
                config = of_get_fixed_voltage_config(&pdev->dev);
+       else
+               config = pdev->dev.platform_data;
+
+       if (!config)
+               return -ENOMEM;
 
        drvdata = kzalloc(sizeof(struct fixed_voltage_data), GFP_KERNEL);
        if (drvdata == NULL) {
This page took 0.025533 seconds and 5 git commands to generate.