Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent a853c0a0
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -416,9 +416,11 @@ device_node *regulator_of_get_init_node(struct device *dev,
		if (!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);
		}
	}

	of_node_put(search);