linux/drivers/media/video
Jesper Juhl fd01ad9894 [media] media, tlg2300: Fix memory leak in alloc_bulk_urbs_generic()
Hi,

While reading
drivers/media/video/tlg2300/pd-video.c::alloc_bulk_urbs_generic() I
noticed that

 - We don't free the memory allocated to 'urb' if the call to
   usb_alloc_coherent() fails.
 - If the 'num' argument to the function is ever <= 0 we'll return an
   uninitialized variable 'i' to the caller.

The following patch addresses both of the above by a) calling
usb_free_urb() when usb_alloc_coherent() fails and by explicitly
initializing 'i' to zero.
I also moved the variables 'mem' and 'urb' inside the for loop. This does
not actually make any difference, it just seemed more correct to me to let
variables exist only in the innermost scope they are used.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Acked-by: Huang Shijie <shijie8@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-01-19 11:45:45 -02:00
..
au0828 [media] V4L: remove V4L1 compatibility mode 2010-12-29 08:17:07 -02:00
bt8xx [media] bttv: remove obsolete 'no_tda9875' field 2011-01-19 11:28:09 -02:00
cpia2 [media] cpia2: convert .ioctl to .unlocked_ioctl 2011-01-19 11:28:12 -02:00
cx18 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
cx88 Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2011-01-07 16:58:04 -08:00
cx231xx Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2011-01-07 16:58:04 -08:00
cx23885 Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2011-01-07 16:58:04 -08:00
cx25840 [media] v4l2-subdev: remove core.s_config and v4l2_i2c_new_subdev_cfg() 2011-01-19 11:45:30 -02:00
davinci [media] davinci: convert vpif_display to core-assisted locking 2011-01-19 11:28:21 -02:00
em28xx [media] v4l2-subdev: remove core.s_config and v4l2_i2c_new_subdev_cfg() 2011-01-19 11:45:30 -02:00
et61x251 [media] et61x251: remove wrongly claimed usb ids 2011-01-19 11:45:01 -02:00
gspca [media] gspca - sonixj: Add LED (illuminator) control to the webcam 0c45:614a 2011-01-19 11:45:43 -02:00
hdpvr [media] hdpvr: Add I2C and ir-kdb-i2c registration of the Zilog Z8 IR chip 2010-12-30 12:17:14 -02:00
ivtv [media] v4l2-subdev: remove core.s_config and v4l2_i2c_new_subdev_cfg() 2011-01-19 11:45:30 -02:00
omap Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
pvrusb2 [media] v4l2-ctrls: use const char * const * for the menu arrays 2010-12-30 08:02:14 -02:00
pwc [media] V4L: remove V4L1 compatibility mode 2010-12-29 08:17:07 -02:00
s5p-fimc [media] drivers/media/video: Update WARN uses 2010-12-29 08:16:39 -02:00
saa7134 [media] saa7134: Kworld SBTVD: make both analog and digital to work 2011-01-19 11:45:28 -02:00
saa7164 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
sn9c102 [media] gspca_sonixj: Probe sensor type independent of bridge type 2011-01-19 11:45:10 -02:00
tlg2300 [media] media, tlg2300: Fix memory leak in alloc_bulk_urbs_generic() 2011-01-19 11:45:45 -02:00
usbvision [media] usbvision: coding style 2010-12-30 08:02:09 -02:00
uvc [media] V4L: remove V4L1 compatibility mode 2010-12-29 08:17:07 -02:00
zoran [media] zoran: fix compiler warning 2011-01-04 16:47:49 -02:00
adv7170.c V4L/DVB: adv7170: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:04 -02:00
adv7175.c V4L/DVB: adv7175: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:01 -02:00
adv7180.c V4L/DVB: v4l: remove unused i2c-id.h headers 2010-10-21 01:06:05 -02:00
adv7343_regs.h
adv7343.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ak881x.c V4L/DVB: mediabus: fix ambiguous pixel code names 2010-08-02 16:43:36 -03:00
arv.c [media] BKL: trivial ioctl -> unlocked_ioctl video driver conversions 2010-12-01 20:10:10 -02:00
bt819.c V4L/DVB: bt819: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:59 -02:00
bt856.c V4L/DVB: bt856: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:02 -02:00
bt866.c V4L/DVB: bt866: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:00 -02:00
btcx-risc.c
btcx-risc.h
bw-qcam.c [media] BKL: trivial ioctl -> unlocked_ioctl video driver conversions 2010-12-01 20:10:10 -02:00
c-qcam.c [media] BKL: trivial ioctl -> unlocked_ioctl video driver conversions 2010-12-01 20:10:10 -02:00
cafe_ccic-regs.h
cafe_ccic.c [media] v4l2-subdev: remove core.s_config and v4l2_i2c_new_subdev_cfg() 2011-01-19 11:45:30 -02:00
cs53l32a.c V4L/DVB: cs53l32a: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:03 -02:00
cs5345.c V4L/DVB: cs5345: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:57 -02:00
cs8420.h
cx2341x.c [media] v4l2-ctrls: use const char * const * for the menu arrays 2010-12-30 08:02:14 -02:00
fsl-viu.c [media] fsl_viu: add VIDIOC_QUERYSTD and VIDIOC_G_STD support 2010-12-29 08:17:16 -02:00
hexium_gemini.c [media] v4l: fix handling of v4l2_input.capabilities 2010-12-30 08:02:29 -02:00
hexium_orion.c [media] v4l: fix handling of v4l2_input.capabilities 2010-12-30 08:02:29 -02:00
ibmmpeg2.h
imx074.c [media] i2c: Remove obsolete cleanup for clientdata 2010-12-29 08:16:47 -02:00
indycam.c V4L/DVB: indycam: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:59 -02:00
indycam.h
ir-kbd-i2c.c [media] ir-kbd-i2c: Make IR debug messages more useful 2011-01-19 11:45:18 -02:00
Kconfig [media] tda9875: remove duplicate driver 2011-01-19 11:28:08 -02:00
ks0127.c V4L/DVB: ks0127: remove obsolete v4l2_i2c_drv.h header 2010-10-21 01:06:04 -02:00
ks0127.h
m52790.c V4L/DVB: m52790: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:59 -02:00
Makefile [media] tda9875: remove duplicate driver 2011-01-19 11:28:08 -02:00
mem2mem_testdev.c [media] v4l: mem2mem_testdev: remove BKL usage 2010-12-29 08:17:04 -02:00
meye.c [media] BKL: trivial ioctl -> unlocked_ioctl video driver conversions 2010-12-01 20:10:10 -02:00
meye.h V4L/DVB: meye: remove last V4L1 remnants from the code and add v4l2_device 2010-05-18 00:52:36 -03:00
msp3400-driver.c [media] msp3400: fix mute audio regression 2010-10-21 08:56:41 -02:00
msp3400-driver.h V4L/DVB: msp3400: convert to the new control framework 2010-08-08 23:43:04 -03:00
msp3400-kthreads.c V4L/DVB: msp3400: convert to the new control framework 2010-08-08 23:43:04 -03:00
mt9m001.c [media] media: video: do not clear 'driver' from an i2c_client 2010-12-29 08:16:47 -02:00
mt9m111.c [media] media: video: do not clear 'driver' from an i2c_client 2010-12-29 08:16:47 -02:00
mt9t031.c [media] media: video: do not clear 'driver' from an i2c_client 2010-12-29 08:16:47 -02:00
mt9t112.c V4L/DVB: v4l: Use v4l2_get_subdevdata instead of accessing v4l2_subdev::priv 2010-10-21 01:04:51 -02:00
mt9v011.c [media] v4l2-subdev: remove core.s_config and v4l2_i2c_new_subdev_cfg() 2011-01-19 11:45:30 -02:00
mt9v022.c [media] media: video: do not clear 'driver' from an i2c_client 2010-12-29 08:16:47 -02:00
mx1_camera.c [media] v4l: soc-camera: switch to .unlocked_ioctl 2010-12-30 22:29:26 -02:00
mx2_camera.c [media] v4l: soc-camera: switch to .unlocked_ioctl 2010-12-30 22:29:26 -02:00
mx3_camera.c [media] v4l: soc-camera: switch to .unlocked_ioctl 2010-12-30 22:29:26 -02:00
mxb.c [media] v4l: fix handling of v4l2_input.capabilities 2010-12-30 08:02:29 -02:00
mxb.h
omap1_camera.c [media] v4l: soc-camera: switch to .unlocked_ioctl 2010-12-30 22:29:26 -02:00
omap24xxcam-dma.c
omap24xxcam.c media/video: don't use flush_scheduled_work() 2010-12-24 16:14:20 +01:00
omap24xxcam.h
ov772x.c [media] v4l: ov772x: simplify pointer dereference 2010-12-30 22:29:23 -02:00
ov2640.c [media] V4L2: Add a v4l2-subdev (soc-camera) driver for OmniVision OV2640 sensor 2010-12-30 22:29:34 -02:00
ov6650.c i2c: Remove obsolete cleanup for clientdata 2010-11-15 22:40:38 +01:00
ov7670.c [media] v4l2-subdev: remove core.s_config and v4l2_i2c_new_subdev_cfg() 2011-01-19 11:45:30 -02:00
ov7670.h [media] ov7670: allow configuration of image size, clock speed, and I/O method 2010-10-23 13:09:23 -02:00
ov9640.c [media] ov9640: fix OmniVision OV9640 sensor driver's priv data retrieving 2010-12-30 22:29:21 -02:00
ov9640.h V4L/DVB (13040): V4L2: Add a v4l2-subdev (soc-camera) driver for OmniVision OV9640 sensor 2009-12-05 18:40:01 -02:00
pms.c [media] BKL: trivial ioctl -> unlocked_ioctl video driver conversions 2010-12-01 20:10:10 -02:00
pxa_camera.c [media] v4l: soc-camera: switch to .unlocked_ioctl 2010-12-30 22:29:26 -02:00
rj54n1cb0c.c [media] media: video: do not clear 'driver' from an i2c_client 2010-12-29 08:16:47 -02:00
s2255drv.c [media] V4L: remove V4L1 compatibility mode 2010-12-29 08:17:07 -02:00
saa711x_regs.h
saa717x.c V4L/DVB: saa717x: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:58 -02:00
saa6588.c [media] saa6588: rename rds.h to saa6588.h 2010-12-29 08:17:18 -02:00
saa7110.c V4L/DVB: saa7110: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:02 -02:00
saa7115.c [media] saa7115: allow input standard autodetection for more chips 2010-12-29 08:17:16 -02:00
saa7121.h
saa7127.c V4L/DVB: saa7127: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:04 -02:00
saa7146.h
saa7146reg.h
saa7185.c V4L/DVB: saa7185: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:59 -02:00
saa7191.c V4L/DVB: saa7191: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:02 -02:00
saa7191.h
sh_mobile_ceu_camera.c [media] v4l: soc-camera: switch to .unlocked_ioctl 2010-12-30 22:29:26 -02:00
sh_mobile_csi2.c V4L/DVB: V4L2: soc-camera: add a MIPI CSI-2 driver for SH-Mobile platforms 2010-08-02 16:43:39 -03:00
sh_vou.c Merge branch 'bkl_removal' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2010-12-17 09:28:17 -08:00
soc_camera_platform.c V4L/DVB: soc_camera_platform: Add necessary v4l2_subdev_video_ops method 2010-08-02 14:05:37 -03:00
soc_camera.c [media] soc_camera: Add the ability to bind regulators to soc_camedra devices 2010-12-30 22:29:37 -02:00
soc_mediabus.c V4L/DVB: mediabus: fix ambiguous pixel code names 2010-08-02 16:43:36 -03:00
sr030pc30.c [media] v4l2-subdev: remove core.s_config and v4l2_i2c_new_subdev_cfg() 2011-01-19 11:45:30 -02:00
stk-sensor.c
stk-webcam.c [media] stk-webcam: remove V4L1 compatibility code, replace with V4L2 controls 2010-12-29 08:17:09 -02:00
stk-webcam.h
tcm825x.c i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
tcm825x.h
tda7432.c V4L/DVB: tda7432: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:03 -02:00
tda9840.c V4L/DVB: tda9840: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:58 -02:00
tea6415c.c [media] tea6415c: return -EIO if i2c_check_functionality fails 2010-12-29 08:16:39 -02:00
tea6415c.h
tea6420.c V4L/DVB: tea6420: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:03 -02:00
tea6420.h
ths7303.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
timblogiw.c [media] timblogiw: fix compile warning 2010-12-30 08:02:35 -02:00
tlv320aic23b.c V4L/DVB: tlv320aic23b: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:02 -02:00
tuner-core.c [media] tda18271: allow restricting max out to 4 bytes 2010-10-21 01:17:43 -02:00
tvaudio.c V4L/DVB: tvaudio: remove obsolete tda8425 initialization 2010-10-21 01:06:09 -02:00
tveeprom.c V4L/DVB: tveeprom: Add an entry for tuner code 168: a TCL M30WTP-4N-E tuner 2010-07-08 16:49:59 -03:00
tvp514x_regs.h V4L/DVB (12246): tvp514x: Migration to sub-device framework 2009-09-19 00:18:09 -03:00
tvp514x.c V4L/DVB: tvp514x: remove obsolete enum/try/s/g_fmt 2010-10-21 01:04:37 -02:00
tvp5150_reg.h
tvp5150.c [media] tvp5150: COMPOSITE0 input should not force-enable TV mode 2010-10-21 07:54:24 -02:00
tvp7002_reg.h V4L/DVB: Definitions for TVP7002 in DM365 2010-02-26 15:11:01 -03:00
tvp7002.c media: comment typo fix diable -> disable. 2011-01-03 16:03:38 +01:00
tw9910.c V4L/DVB: v4l: Use v4l2_get_subdevdata instead of accessing v4l2_subdev::priv 2010-10-21 01:04:51 -02:00
upd64031a.c V4L/DVB: upd64031a: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:58 -02:00
upd64083.c V4L/DVB: upd64083: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:03 -02:00
v4l2-common.c [media] v4l2-subdev: remove core.s_config and v4l2_i2c_new_subdev_cfg() 2011-01-19 11:45:30 -02:00
v4l2-compat-ioctl32.c [media] v4l2-compat-ioctl32: fix compile warning 2011-01-04 16:47:50 -02:00
v4l2-ctrls.c [media] v4l2-ctrls: v4l2_ctrl_handler_setup must set is_new to 1 2011-01-19 11:45:32 -02:00
v4l2-dev.c [media] v4l2-dev: fix race condition 2010-12-01 20:10:20 -02:00
v4l2-device.c [media] v4l2-subdev: add (un)register internal ops 2011-01-19 11:45:31 -02:00
v4l2-event.c V4L/DVB: v4l2: add core serialization lock 2010-10-21 01:06:14 -02:00
v4l2-fh.c V4L/DVB: V4L: Events: Support event handling in do_ioctl 2010-05-19 12:58:07 -03:00
v4l2-int-device.c
v4l2-ioctl.c [media] v4l2-ioctl: fix incorrect error code if VIDIOC_DBG_G/S_REGISTER are unsupported 2011-01-19 11:45:13 -02:00
v4l2-mem2mem.c V4L/DVB: videobuf: prepare to make locking optional in videobuf 2010-10-21 01:06:14 -02:00
via-camera.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
via-camera.h [media] Add the via framebuffer camera controller driver 2010-10-21 13:45:28 -02:00
videobuf-core.c [media] V4L: remove V4L1 compatibility mode 2010-12-29 08:17:07 -02:00
videobuf-dma-contig.c [media] v4l: videobuf: remove unused is_userptr variable 2010-10-21 07:55:56 -02:00
videobuf-dma-sg.c [media] videobuf-dma-sg: remove obsolete comments 2010-12-29 08:17:07 -02:00
videobuf-dvb.c V4L/DVB: videobuf: add queue argument to videobuf_waiton() 2010-10-21 01:06:14 -02:00
videobuf-vmalloc.c V4L/DVB: videobuf: add ext_lock argument to the queue init functions 2010-10-21 01:06:14 -02:00
vino.c [media] v4l: fix handling of v4l2_input.capabilities 2010-12-30 08:02:29 -02:00
vino.h
vivi.c [media] V4L: remove V4L1 compatibility mode 2010-12-29 08:17:07 -02:00
vp27smpx.c V4L/DVB: vp27smpx: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:57 -02:00
vpx3220.c V4L/DVB: vpx3220: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:06:03 -02:00
w9966.c [media] BKL: trivial ioctl -> unlocked_ioctl video driver conversions 2010-12-01 20:10:10 -02:00
wm8739.c V4L/DVB: wm8739: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:57 -02:00
wm8775.c [media] wm8775: Revert changeset fcb9757333 to avoid a regression 2011-01-03 09:09:56 -02:00
zr364xx.c V4L/DVB: videobuf: add ext_lock argument to the queue init functions 2010-10-21 01:06:14 -02:00