mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
media: cx88: fix memory leak in cx8802_register_driver() error path
In cx8802_register_driver(), when drv->probe(driver) fails (non-zero), the allocated cx8802_driver struct is freed neither in the else branch nor later in cx8802_unregister_driver() (which only frees entries that were added to dev->drvlist on success). Each failed probe leaks the driver struct. Add kfree(driver) in the else branch to fix the leak. Signed-off-by: Chen Changcheng <chenchangcheng@kylinos.cn> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
parent
9508676ad8
commit
e228b8b1a5
|
|
@ -640,6 +640,7 @@ int cx8802_register_driver(struct cx8802_driver *drv)
|
|||
list_add_tail(&driver->drvlist, &dev->drvlist);
|
||||
} else {
|
||||
pr_err("cx8802 probe failed, err = %d\n", err);
|
||||
kfree(driver);
|
||||
}
|
||||
mutex_unlock(&drv->core->lock);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user