diff options
author | Nishka Dasgupta <nishkadg.linux@gmail.com> | 2019-08-19 12:54:35 +0530 |
---|---|---|
committer | Felipe Balbi <felipe.balbi@linux.intel.com> | 2019-08-28 13:04:58 +0300 |
commit | e36721b90144bb46e1b6477be3ab63439c7fb79b (patch) | |
tree | 7c74576f1fa9f709ac70b2813f546146181399fe /net | |
parent | c09b73cfac2a9317f1104169045c519c6021aa1d (diff) | |
download | linux-e36721b90144bb46e1b6477be3ab63439c7fb79b.tar.bz2 |
usb: dwc3: st: Add of_node_put() before return in probe function
The local variable child in the function st_dwc3_probe takes the return
value of of_get_child_by_name, which gets a node and does not put it. If
the function returns without releasing child, this could cause a memory
error. Hence put child as soon as there is no more use for it. Also
create a new label, err_node_put, just before label undo_softreset; so
that err_node_put puts child. In between initialisation of child and its
first put, modify all statements that go to undo_softreset to now go to
err_node_put instead, from where they can fall through to
undo_softreset.
Issue found with Coccinelle.
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions