Messages in this thread | | | Date | Wed, 20 Sep 2017 16:56:06 +0300 | From | Dan Carpenter <> | Subject | Re: [PATCH] [media] Siano: Use common error handling code in smsusb_init_device() |
| |
On Wed, Sep 20, 2017 at 02:40:28PM +0200, SF Markus Elfring wrote: > From: Markus Elfring <elfring@users.sourceforge.net> > Date: Wed, 20 Sep 2017 14:30:55 +0200 > > Add a jump target so that a bit of exception handling can be better > reused at the end of this function. > > This refactoring might fix also an error situation where the > function "kfree" was not called after a software failure > was noticed in two cases. >
No. It doesn't fix a leak, it introduces a double free. If smscore_register_device() succeeds then mdev is freed when we call smsusb_term_device(intf); The call tree is:
smsusb_term_device() -> smscore_unregister_device() -> smscore_notify_clients() -> smsdvb_onremove() -> smsdvb_unregister_client() -> smsdvb_media_device_unregister() -> kfree(coredev->media_dev);
regards, dan carpenter
| |