From: Axel Lin Date: Sun, 27 Nov 2011 12:07:57 +0000 (+0800) Subject: regulator: Avoid potential NULL dereference in reg_fixed_voltage_probe() X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=22d881c068403c155fbe320c0a26e3b1bcdaa1b8;p=deliverable%2Flinux.git regulator: Avoid potential NULL dereference in reg_fixed_voltage_probe() 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 Signed-off-by: Mark Brown --- diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c index 703c26b756dc..ebec5e06dfa1 100644 --- a/drivers/regulator/fixed.c +++ b/drivers/regulator/fixed.c @@ -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) {