summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Beregalov <a.beregalov@gmail.com>2010-01-07 23:27:30 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-18 11:45:20 -0300
commit2a6fae326713ec84f307c045f6b497d4afaeb1d4 (patch)
tree457bb87f51dfa4563ed5b9667a491beea23a7891
parent71753e0141a220ecbf9c71a66e0a8acce9705fb5 (diff)
downloadlinux-2a6fae326713ec84f307c045f6b497d4afaeb1d4.tar.bz2
i7core_edac: fix memory leak of i7core_dev
Free already allocated i7core_dev. Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/edac/i7core_edac.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/edac/i7core_edac.c b/drivers/edac/i7core_edac.c
index 37ade251e9e2..8e93df637bca 100644
--- a/drivers/edac/i7core_edac.c
+++ b/drivers/edac/i7core_edac.c
@@ -1249,8 +1249,10 @@ int i7core_get_onedevice(struct pci_dev **prev, int devno,
return -ENOMEM;
i7core_dev->pdev = kzalloc(sizeof(*i7core_dev->pdev) * n_devs,
GFP_KERNEL);
- if (!i7core_dev->pdev)
+ if (!i7core_dev->pdev) {
+ kfree(i7core_dev);
return -ENOMEM;
+ }
i7core_dev->socket = socket;
i7core_dev->n_devs = n_devs;
list_add_tail(&i7core_dev->list, &i7core_edac_list);