mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
mei: nfc: fix memory leak in error path
The flow may reach the err label without freeing cl and cl_info cl and cl_info weren't assigned to ndev->cl and cl_info so they weren't freed in mei_nfc_free called on error path Cc: <[email protected]> # 3.10+ Cc: Samuel Ortiz <[email protected]> Signed-off-by: Tomas Winkler <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
This commit is contained in:
parent
9ae113ce5f
commit
4bff7208f3
1 changed files with 6 additions and 4 deletions
|
|
@ -485,8 +485,11 @@ int mei_nfc_host_init(struct mei_device *dev)
|
|||
if (ndev->cl_info)
|
||||
return 0;
|
||||
|
||||
cl_info = mei_cl_allocate(dev);
|
||||
cl = mei_cl_allocate(dev);
|
||||
ndev->cl_info = mei_cl_allocate(dev);
|
||||
ndev->cl = mei_cl_allocate(dev);
|
||||
|
||||
cl = ndev->cl;
|
||||
cl_info = ndev->cl_info;
|
||||
|
||||
if (!cl || !cl_info) {
|
||||
ret = -ENOMEM;
|
||||
|
|
@ -527,10 +530,9 @@ int mei_nfc_host_init(struct mei_device *dev)
|
|||
|
||||
cl->device_uuid = mei_nfc_guid;
|
||||
|
||||
|
||||
list_add_tail(&cl->device_link, &dev->device_list);
|
||||
|
||||
ndev->cl_info = cl_info;
|
||||
ndev->cl = cl;
|
||||
ndev->req_id = 1;
|
||||
|
||||
INIT_WORK(&ndev->init_work, mei_nfc_init);
|
||||
|
|
|
|||
Loading…
Reference in a new issue