Skip to content

Commit

Permalink
hwmon: (ina3221) Add of_node_put() before return
Browse files Browse the repository at this point in the history
Each iteration of for_each_child_of_node puts the previous
node, but in the case of a return from the middle of the loop, there is
no put, thus causing a memory leak. Hence add an of_node_put before the
return.
Issue found with Coccinelle.

Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
Link: https://lore.kernel.org/r/20190706132130.3129-1-nishkadg.linux@gmail.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
  • Loading branch information
Nishka Dasgupta authored and Guenter Roeck committed Jul 9, 2019
1 parent 277c628 commit 9f75465
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/hwmon/ina3221.c
Original file line number Diff line number Diff line change
Expand Up @@ -713,8 +713,10 @@ static int ina3221_probe_from_dt(struct device *dev, struct ina3221_data *ina)

for_each_child_of_node(np, child) {
ret = ina3221_probe_child_from_dt(dev, child, ina);
if (ret)
if (ret) {
of_node_put(child);
return ret;
}
}

return 0;
Expand Down

0 comments on commit 9f75465

Please sign in to comment.