summaryrefslogtreecommitdiffstats
path: root/drivers/firmware
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2011-03-18 08:12:14 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-04-20 01:45:50 +0200
commit051d51bc6a867d9466a975e4d7ca51b21a9c2c4e (patch)
tree3ff593b4ef7c9372f79d4251cef45f3a5dfde0a5 /drivers/firmware
parentdevice: add dev_WARN_ONCE (diff)
downloadlinux-051d51bc6a867d9466a975e4d7ca51b21a9c2c4e.tar.xz
linux-051d51bc6a867d9466a975e4d7ca51b21a9c2c4e.zip
efivars: memory leak on error in create_efivars_bin_attributes()
This is a cut and paste bug. We intended to free ->del_var and ->new_var but we only free ->new_var. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Mike Waychison <mikew@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/firmware')
-rw-r--r--drivers/firmware/efivars.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c
index ff0c373e3bbf..ff2fe4095228 100644
--- a/drivers/firmware/efivars.c
+++ b/drivers/firmware/efivars.c
@@ -677,8 +677,8 @@ create_efivars_bin_attributes(struct efivars *efivars)
return 0;
out_free:
- kfree(efivars->new_var);
- efivars->new_var = NULL;
+ kfree(efivars->del_var);
+ efivars->del_var = NULL;
kfree(efivars->new_var);
efivars->new_var = NULL;
return error;