Browse Source

regulator: qcom_rpm-regulator: add NULL check on of_match_device() return value

Check return value from call to of_match_device()
in order to prevent a NULL pointer dereference.

In case of NULL print error message and return.

Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Gustavo A. R. Silva 8 years ago
parent
commit
2f2472baa6
1 changed files with 5 additions and 0 deletions
  1. 5 0
      drivers/regulator/qcom_rpm-regulator.c

+ 5 - 0
drivers/regulator/qcom_rpm-regulator.c

@@ -959,6 +959,11 @@ static int rpm_reg_probe(struct platform_device *pdev)
 	}
 	}
 
 
 	match = of_match_device(rpm_of_match, &pdev->dev);
 	match = of_match_device(rpm_of_match, &pdev->dev);
+	if (!match) {
+		dev_err(&pdev->dev, "failed to match device\n");
+		return -ENODEV;
+	}
+
 	for (reg = match->data; reg->name; reg++) {
 	for (reg = match->data; reg->name; reg++) {
 		vreg = devm_kmalloc(&pdev->dev, sizeof(*vreg), GFP_KERNEL);
 		vreg = devm_kmalloc(&pdev->dev, sizeof(*vreg), GFP_KERNEL);
 		if (!vreg)
 		if (!vreg)