leds: max77650: Add of_node_put() before return
authorNishka Dasgupta <nishkadg.linux@gmail.com>
Thu, 11 Jul 2019 07:54:05 +0000 (13:24 +0530)
committerJacek Anaszewski <jacek.anaszewski@gmail.com>
Mon, 22 Jul 2019 18:35:00 +0000 (20:35 +0200)
commit730f693d79da8130c8ac18d1083cdb333fd8d7c8
tree701e8edcad8a8ad5bfce430dc7557e68ecc13786
parent533016c870a8d0cc01478ed9e780a46e830b3b22
leds: max77650: Add of_node_put() before return

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 create a new label, err_node_put, which puts the previous node and
returns variable rv. Modify the mid-loop return statements to instead
store the return value in rv and jump to err_node_put.
Issue found with Coccinelle.

Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
Reviewed-by: Dan Murphy <dmurphy@ti.com>
Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
drivers/leds/leds-max77650.c