diff options
author | Gustavo A. R. Silva <garsilva@embeddedor.com> | 2017-07-06 17:49:18 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-07-07 08:48:33 -0400 |
commit | da2629684822091bf15c6c14d8e33b75dfce8637 (patch) | |
tree | 0304b11bc79c62dde3ad513be278ce7aaabd27ca | |
parent | 8d67f64f7739464c352d4b167ed1748f3b2c1f44 (diff) |
regulator: axp20x: add NULL check on devm_kzalloc() return value
Check return value from call to devm_kzalloc()
in order to prevent a NULL pointer dereference.
This issue was detected using Coccinelle and the following semantic patch:
@@
expression x;
identifier fld;
@@
* x = devm_kzalloc(...);
... when != x == NULL
x->fld
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | drivers/regulator/axp20x-regulator.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/regulator/axp20x-regulator.c b/drivers/regulator/axp20x-regulator.c index e2608fe770b9..f18b36dd57dd 100644 --- a/drivers/regulator/axp20x-regulator.c +++ b/drivers/regulator/axp20x-regulator.c | |||
@@ -691,6 +691,9 @@ static int axp20x_regulator_probe(struct platform_device *pdev) | |||
691 | (regulators == axp809_regulators && i == AXP809_DC1SW)) { | 691 | (regulators == axp809_regulators && i == AXP809_DC1SW)) { |
692 | new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc), | 692 | new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc), |
693 | GFP_KERNEL); | 693 | GFP_KERNEL); |
694 | if (!new_desc) | ||
695 | return -ENOMEM; | ||
696 | |||
694 | *new_desc = regulators[i]; | 697 | *new_desc = regulators[i]; |
695 | new_desc->supply_name = dcdc1_name; | 698 | new_desc->supply_name = dcdc1_name; |
696 | desc = new_desc; | 699 | desc = new_desc; |
@@ -700,6 +703,9 @@ static int axp20x_regulator_probe(struct platform_device *pdev) | |||
700 | (regulators == axp809_regulators && i == AXP809_DC5LDO)) { | 703 | (regulators == axp809_regulators && i == AXP809_DC5LDO)) { |
701 | new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc), | 704 | new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc), |
702 | GFP_KERNEL); | 705 | GFP_KERNEL); |
706 | if (!new_desc) | ||
707 | return -ENOMEM; | ||
708 | |||
703 | *new_desc = regulators[i]; | 709 | *new_desc = regulators[i]; |
704 | new_desc->supply_name = dcdc5_name; | 710 | new_desc->supply_name = dcdc5_name; |
705 | desc = new_desc; | 711 | desc = new_desc; |