diff options
author | Nishka Dasgupta <nishkadg.linux@gmail.com> | 2019-07-11 10:54:05 +0300 |
---|---|---|
committer | Jacek Anaszewski <jacek.anaszewski@gmail.com> | 2019-07-22 21:35:00 +0300 |
commit | 730f693d79da8130c8ac18d1083cdb333fd8d7c8 (patch) | |
tree | 701e8edcad8a8ad5bfce430dc7557e68ecc13786 /drivers/leds/leds-ns2.c | |
parent | 533016c870a8d0cc01478ed9e780a46e830b3b22 (diff) | |
download | linux-730f693d79da8130c8ac18d1083cdb333fd8d7c8.tar.xz |
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>
Diffstat (limited to 'drivers/leds/leds-ns2.c')
0 files changed, 0 insertions, 0 deletions