regulator: axp20x: add NULL check on devm_kzalloc() return value
PATCH 1/1 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
--- drivers/regulator/axp20x-regulator.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/regulator/axp20x-regulator.c +3 -0
@@ -691,6 +691,9 @@ static int axp20x_regulator_probe(struct platform_device *pdev) (regulators == axp809_regulators && i == AXP809_DC1SW)) { new_desc =devm_kzalloc (&pdev->dev,sizeof (*desc),GFP_KERNEL ); +if (!new_desc) +return -ENOMEM ; + *new_desc = regulators[i]; new_desc->supply_name = dcdc1_name; desc = new_desc;
Signature · 1 line
2.5.0
PATCH v2 1/1 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
---
Changes in v2:
Add NULL check on second call to devm_kzalloc() in function axp20x_regulator_probe().
drivers/regulator/axp20x-regulator.c | 6 ++++++ 1 file changed, 6 insertions(+)
drivers/regulator/axp20x-regulator.c +6 -0
@@ -691,6 +691,9 @@ static int axp20x_regulator_probe(struct platform_device *pdev) (regulators == axp809_regulators && i == AXP809_DC1SW)) { new_desc =devm_kzalloc (&pdev->dev,sizeof (*desc),GFP_KERNEL ); +if (!new_desc) +return -ENOMEM ; + *new_desc = regulators[i]; new_desc->supply_name = dcdc1_name; desc = new_desc;
@@ -700,6 +703,9 @@ static int axp20x_regulator_probe(struct platform_device *pdev) (regulators == axp809_regulators && i == AXP809_DC5LDO)) { new_desc =devm_kzalloc (&pdev->dev,sizeof (*desc),GFP_KERNEL ); +if (!new_desc) +return -ENOMEM ; + *new_desc = regulators[i]; new_desc->supply_name = dcdc5_name; desc = new_desc;
Signature · 1 line
2.5.0