Commit 0e5b09b1 authored by Dan Carpenter's avatar Dan Carpenter Committed by Andy Shevchenko

platform/x86: dell-smbios: Fix memory leaks in build_tokens_sysfs()

We're freeing "value_name" which is NULL, so that's a no-op, but we
intended to free "location_name" instead.  And then we don't free the
names in token_location_attrs[0] and token_value_attrs[0].

Fixes: 33b9ca1e ("platform/x86: dell-smbios: Add a sysfs interface for SMBIOS tokens")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
parent 2b5de0cc
...@@ -514,7 +514,7 @@ static int build_tokens_sysfs(struct platform_device *dev) ...@@ -514,7 +514,7 @@ static int build_tokens_sysfs(struct platform_device *dev)
continue; continue;
loop_fail_create_value: loop_fail_create_value:
kfree(value_name); kfree(location_name);
goto out_unwind_strings; goto out_unwind_strings;
} }
smbios_attribute_group.attrs = token_attrs; smbios_attribute_group.attrs = token_attrs;
...@@ -525,7 +525,7 @@ static int build_tokens_sysfs(struct platform_device *dev) ...@@ -525,7 +525,7 @@ static int build_tokens_sysfs(struct platform_device *dev)
return 0; return 0;
out_unwind_strings: out_unwind_strings:
for (i = i-1; i > 0; i--) { while (i--) {
kfree(token_location_attrs[i].attr.name); kfree(token_location_attrs[i].attr.name);
kfree(token_value_attrs[i].attr.name); kfree(token_value_attrs[i].attr.name);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment