media: tw686x: Fix memory leak in tw686x_video_init
[ Upstream commit e0b212ec9d8177d6f7c404315293f6a085d6ee42 ]
video_device_alloc() allocates memory for vdev,
when video_register_device() fails, it doesn't release the memory and
leads to memory leak, call video_device_release() to fix this.
Fixes: 704a84ccdb
("[media] media: Support Intersil/Techwell TW686x-based video capture cards")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
7f7336ce35
commit
611f86965d
@@ -1283,8 +1283,10 @@ int tw686x_video_init(struct tw686x_dev *dev)
|
|||||||
video_set_drvdata(vdev, vc);
|
video_set_drvdata(vdev, vc);
|
||||||
|
|
||||||
err = video_register_device(vdev, VFL_TYPE_VIDEO, -1);
|
err = video_register_device(vdev, VFL_TYPE_VIDEO, -1);
|
||||||
if (err < 0)
|
if (err < 0) {
|
||||||
|
video_device_release(vdev);
|
||||||
goto error;
|
goto error;
|
||||||
|
}
|
||||||
vc->num = vdev->num;
|
vc->num = vdev->num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user