Commit 262ad4f3 authored by Yang Yingliang's avatar Yang Yingliang Committed by Mauro Carvalho Chehab

media: solo6x10: fix possible memory leak in solo_sysfs_init()

If device_register() returns error in solo_sysfs_init(), the
name allocated by dev_set_name() need be freed. As comment of
device_register() says, it should use put_device() to give up
the reference in the error path. So fix this by calling
put_device(), then the name can be freed in kobject_cleanup().

Fixes: dcae5dac ("[media] solo6x10: sync to latest code from Bluecherry's git repo")
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent f9e02e9c
...@@ -420,6 +420,7 @@ static int solo_sysfs_init(struct solo_dev *solo_dev) ...@@ -420,6 +420,7 @@ static int solo_sysfs_init(struct solo_dev *solo_dev)
solo_dev->nr_chans); solo_dev->nr_chans);
if (device_register(dev)) { if (device_register(dev)) {
put_device(dev);
dev->parent = NULL; dev->parent = NULL;
return -ENOMEM; return -ENOMEM;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment