]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
V4L/DVB (13961): em28xx-dvb: fix memleak in dvb_fini()
authorFrancesco Lavra <francescolavra@interfree.it>
Thu, 31 Dec 2009 11:47:11 +0000 (08:47 -0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 1 Apr 2010 22:52:27 +0000 (15:52 -0700)
commit 19f48cb105b7fa18d0dcab435919a3a29b7a7c4c upstream.

this patch fixes a memory leak which occurs when an em28xx card with DVB
extension is unplugged or its DVB extension driver is unloaded. In
dvb_fini(), dev->dvb must be freed before being set to NULL, as is done
in dvb_init() in case of error.
Note that this bug is also present in the latest stable kernel release.

Signed-off-by: Francesco Lavra <francescolavra@interfree.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/media/video/em28xx/em28xx-dvb.c

index d2b1a1a52689f57fe5d9b423887d0c169818f347..72894f408517965518b0b1f63c4c510252bd8fe2 100644 (file)
@@ -501,6 +501,7 @@ static int dvb_fini(struct em28xx *dev)
 
        if (dev->dvb) {
                unregister_dvb(dev->dvb);
+               kfree(dev->dvb);
                dev->dvb = NULL;
        }