of: dynamic: Fix potential memory leak in of_changeset_action()
authorDan Carpenter <dan.carpenter@linaro.org>
Fri, 8 Sep 2023 07:03:50 +0000 (10:03 +0300)
committerRob Herring <robh@kernel.org>
Mon, 11 Sep 2023 14:58:54 +0000 (09:58 -0500)
commit55e95bfccf6db8d26a66c46e1de50d53c59a6774
tree6508582074d0f776c169a3391f8b87091c198b13
parent0bb80ecc33a8fb5a682236443c1e740d5c917d1d
of: dynamic: Fix potential memory leak in of_changeset_action()

Smatch complains that the error path where "action" is invalid leaks
the "ce" allocation:
    drivers/of/dynamic.c:935 of_changeset_action()
    warn: possible memory leak of 'ce'

Fix this by doing the validation before the allocation.

Note that there is not any actual problem with upstream kernels. All
callers of of_changeset_action() are static inlines with fixed action
values.

Fixes: 914d9d831e61 ("of: dynamic: Refactor action prints to not use "%pOF" inside devtree_lock")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/r/202309011059.EOdr4im9-lkp@intel.com/
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/7dfaf999-30ad-491c-9615-fb1138db121c@moroto.mountain
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/dynamic.c