From 7f367712814cef0e1e132c2c39363cb0c6adb557 Mon Sep 17 00:00:00 2001 From: Trent Piepho Date: Fri, 5 Oct 2007 07:28:09 -0700 Subject: cx8802: Plug memory leak when unregistering a driver When a cx8802 sub-driver was unregistered, the struct cx8802_driver, which was kmalloc()ed by cx8802_register_driver(), was deleted from the list of drivers, but never freed. Signed-off-by: Trent Piepho Reviewed-by: Michael Krufky --- linux/drivers/media/video/cx88/cx88-mpeg.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'linux/drivers/media') diff --git a/linux/drivers/media/video/cx88/cx88-mpeg.c b/linux/drivers/media/video/cx88/cx88-mpeg.c index c4f5b8dab..339992afd 100644 --- a/linux/drivers/media/video/cx88/cx88-mpeg.c +++ b/linux/drivers/media/video/cx88/cx88-mpeg.c @@ -793,6 +793,7 @@ int cx8802_unregister_driver(struct cx8802_driver *drv) mutex_lock(&drv->core->lock); list_del(&d->drvlist); mutex_unlock(&drv->core->lock); + kfree(d); } else printk(KERN_ERR "%s/2: cx8802 driver remove " "failed (%d)\n", dev->core->name, err); @@ -875,6 +876,7 @@ static void __devexit cx8802_remove(struct pci_dev *pci_dev) } else printk(KERN_ERR "%s/2: cx8802 driver remove " "failed (%d)\n", dev->core->name, err); + kfree(drv); } } -- cgit v1.2.3