parport_cs: Fix memory leak in parport_config
authorYueHaibing <yuehaibing@huawei.com>
Thu, 21 Mar 2019 08:26:28 +0000 (16:26 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Mar 2019 16:35:11 +0000 (01:35 +0900)
parport_probe() alloc parport device 'info',
but while parport_config failed it does not free it.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/parport/parport_cs.c

index e9b52e4a4648f7132185eb4258a31b2d98b08e08..e77044c2bf622db01d798062f28d03221238df42 100644 (file)
@@ -158,8 +158,9 @@ static int parport_config(struct pcmcia_device *link)
     return 0;
 
 failed:
-    parport_cs_release(link);
-    return -ENODEV;
+       parport_cs_release(link);
+       kfree(link->priv);
+       return -ENODEV;
 } /* parport_config */
 
 static void parport_cs_release(struct pcmcia_device *link)