diff options
author | Dinghao Liu <dinghao.liu@zju.edu.cn> | 2021-01-02 07:27:22 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+huawei@kernel.org> | 2021-01-12 18:21:54 +0100 |
commit | 15d0c52241ecb1c9d802506bff6f5c3f7872c0df (patch) | |
tree | 3cfa1edc0579b45429d855b1896b77c6b43ddd92 /drivers | |
parent | cf73a660111c98f20cedb4abad7b46718c182333 (diff) | |
download | linux-stable-15d0c52241ecb1c9d802506bff6f5c3f7872c0df.tar.gz linux-stable-15d0c52241ecb1c9d802506bff6f5c3f7872c0df.tar.bz2 linux-stable-15d0c52241ecb1c9d802506bff6f5c3f7872c0df.zip |
media: media/pci: Fix memleak in empress_init
When vb2_queue_init() fails, dev->empress_dev
should be released just like other error handling
paths.
Fixes: 2ada815fc48bb ("[media] saa7134: convert to vb2")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/pci/saa7134/saa7134-empress.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/pci/saa7134/saa7134-empress.c b/drivers/media/pci/saa7134/saa7134-empress.c index 39e3c7f8c5b4..76a37fbd8458 100644 --- a/drivers/media/pci/saa7134/saa7134-empress.c +++ b/drivers/media/pci/saa7134/saa7134-empress.c @@ -282,8 +282,11 @@ static int empress_init(struct saa7134_dev *dev) q->lock = &dev->lock; q->dev = &dev->pci->dev; err = vb2_queue_init(q); - if (err) + if (err) { + video_device_release(dev->empress_dev); + dev->empress_dev = NULL; return err; + } dev->empress_dev->queue = q; dev->empress_dev->device_caps = V4L2_CAP_READWRITE | V4L2_CAP_STREAMING | V4L2_CAP_VIDEO_CAPTURE; |