Commit 811ba489 authored by Nishka Dasgupta's avatar Nishka Dasgupta Committed by Mark Brown

regulator: of: Add of_node_put() before return in function

The local variable search in regulator_of_get_init_node takes the value
returned by either of_get_child_by_name or of_node_get, both of which
get a node. If this node is not put before returning, it could cause a
memory leak. Hence put search before a mid-loop return statement.
Issue found with Coccinelle.
Signed-off-by: default avatarNishka Dasgupta <nishkadg.linux@gmail.com>
Link: https://lore.kernel.org/r/20190724083231.10276-1-nishkadg.linux@gmail.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent a853c0a0
...@@ -416,8 +416,10 @@ device_node *regulator_of_get_init_node(struct device *dev, ...@@ -416,8 +416,10 @@ device_node *regulator_of_get_init_node(struct device *dev,
if (!name) if (!name)
name = child->name; name = child->name;
if (!strcmp(desc->of_match, name)) if (!strcmp(desc->of_match, name)) {
of_node_put(search);
return of_node_get(child); return of_node_get(child);
}
} }
of_node_put(search); of_node_put(search);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment