• Jesper Juhl's avatar
    [media] media, tlg2300: Fix memory leak in alloc_bulk_urbs_generic() · fd01ad98
    Jesper Juhl authored
    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: default avatarJesper Juhl <jj@chaosbits.net>
    Acked-by: default avatarHuang Shijie <shijie8@gmail.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    fd01ad98
pd-video.c 40.7 KB