efivars: memory leak on error in create_efivars_bin_attributes()
authorDan Carpenter <error27@gmail.com>
Fri, 18 Mar 2011 07:12:14 +0000 (10:12 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 19 Apr 2011 23:45:50 +0000 (16:45 -0700)
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>
drivers/firmware/efivars.c

index ff0c373e3bbffcff0663efdf19c675ccf2f7ec78..ff2fe40952281bcda6381cba7136ac255525d003 100644 (file)
@@ -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;