summaryrefslogtreecommitdiffstats
path: root/drivers/parport
diff options
context:
space:
mode:
authorYueHaibing <yuehaibing@huawei.com>2019-03-21 09:26:28 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-03-27 17:35:11 +0100
commit21c75ad65f8e5213ec542d99c259ffe3e3671e81 (patch)
tree76a6b86049440ba7bca4c577ef9b0f02b204d169 /drivers/parport
parentLinux 5.1-rc2 (diff)
downloadlinux-21c75ad65f8e5213ec542d99c259ffe3e3671e81.tar.xz
linux-21c75ad65f8e5213ec542d99c259ffe3e3671e81.zip
parport_cs: Fix memory leak in parport_config
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>
Diffstat (limited to 'drivers/parport')
-rw-r--r--drivers/parport/parport_cs.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/parport/parport_cs.c b/drivers/parport/parport_cs.c
index e9b52e4a4648..e77044c2bf62 100644
--- a/drivers/parport/parport_cs.c
+++ b/drivers/parport/parport_cs.c
@@ -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)