linux/drivers/media
Pavel Skripkin b7cd0da982 media: dvb-usb: fix memory leak in dvb_usb_adapter_init
syzbot reported memory leak in dvb-usb. The problem was
in invalid error handling in dvb_usb_adapter_init().

for (n = 0; n < d->props.num_adapters; n++) {
....
	if ((ret = dvb_usb_adapter_stream_init(adap)) ||
		(ret = dvb_usb_adapter_dvb_init(adap, adapter_nrs)) ||
		(ret = dvb_usb_adapter_frontend_init(adap))) {
		return ret;
	}
...
	d->num_adapters_initialized++;
...
}

In case of error in dvb_usb_adapter_dvb_init() or
dvb_usb_adapter_dvb_init() d->num_adapters_initialized won't be
incremented, but dvb_usb_adapter_exit() relies on it:

	for (n = 0; n < d->num_adapters_initialized; n++)

So, allocated objects won't be freed.

Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
Reported-by: syzbot+3c2be7424cea3b932b0e@syzkaller.appspotmail.com
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2021-04-09 13:02:20 +02:00
..
cec media: cec/core: clarify rx-arb-lost usage message 2021-04-06 16:08:38 +02:00
common media: media/siano: Fix transmission parameters reporting for ISDB-T 2021-03-23 08:29:37 +01:00
dvb-core media: dvbdev: Fix memory leak in dvb_media_device_free() 2021-03-22 23:36:39 +01:00
dvb-frontends media: dvb-frontends: Remove redundant error check on variable ret 2021-04-09 13:00:59 +02:00
firewire media: firewire: fix memory leak 2020-09-27 11:29:45 +02:00
i2c media: i2c: adv7842: fix possible use-after-free in adv7842_remove() 2021-04-09 12:54:32 +02:00
mc media: entity: Add lockdep check to media graph walk 2021-04-06 14:35:14 +02:00
mmc media updates for v5.8-rc1 2020-06-03 20:59:38 -07:00
pci media: cobalt: drop static for sd_fmt 2021-04-09 12:58:52 +02:00
platform media: sun8i-di: Fix runtime PM imbalance in deinterlace_start_streaming 2021-04-09 12:58:34 +02:00
radio media: radio-si476x: rectify spelling and grammar 2021-03-22 11:58:42 +01:00
rc media: rc: add keymaps for mecool-kii-pro/kiii-pro remotes 2021-04-09 13:01:59 +02:00
spi media: use getter/setter functions 2021-03-11 11:59:42 +01:00
test-drivers media: vivid: add read-only int32 control 2021-04-06 16:04:24 +02:00
tuners media: m88rs6000t: avoid potential out-of-bounds reads on arrays 2021-03-22 17:41:39 +01:00
usb media: dvb-usb: fix memory leak in dvb_usb_adapter_init 2021-04-09 13:02:20 +02:00
v4l2-core media: v4l2-ctrls.c: fix race condition in hdl->requests list 2021-04-06 16:05:33 +02:00
Kconfig media: Correct 'so' 2021-03-22 11:52:09 +01:00
Makefile