On Fri, Mar 16, 2018 at 2:10 PM, Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > 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]. > Pushed to my reviewing and testing queue, thanks! > Fixes: 33b9ca1e53b4 ("platform/x86: dell-smbios: Add a sysfs interface for SMBIOS tokens") > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > --- > v2: style changes (move from a for loop to a while loop) and this driver > has been renamed. > > diff --git a/drivers/platform/x86/dell-smbios-base.c b/drivers/platform/x86/dell-smbios-base.c > index 2485c80a9fdd..ec31d149f82e 100644 > --- a/drivers/platform/x86/dell-smbios-base.c > +++ b/drivers/platform/x86/dell-smbios-base.c > @@ -514,7 +514,7 @@ static int build_tokens_sysfs(struct platform_device *dev) > continue; > > loop_fail_create_value: > - kfree(value_name); > + kfree(location_name); > goto out_unwind_strings; > } > smbios_attribute_group.attrs = token_attrs; > @@ -525,7 +525,7 @@ static int build_tokens_sysfs(struct platform_device *dev) > return 0; > > out_unwind_strings: > - for (i = i-1; i > 0; i--) { > + while (--i >= 0) { > kfree(token_location_attrs[i].attr.name); > kfree(token_value_attrs[i].attr.name); > } -- With Best Regards, Andy Shevchenko