[PATCH] mtd: parsers: Fix potential memory leak in mtd_parser_tplink_safeloader_parse()
Yuan Can
yuancan at huawei.com
Thu Dec 8 03:26:15 PST 2022
在 2022/12/8 17:35, Dan Carpenter 写道:
> On Thu, Dec 08, 2022 at 08:38:59AM +0000, Yuan Can wrote:
>> The parts needs to be freed with all its elements, otherwise it will be
>> leaked.
>>
>> Fixes: 00a3588084be ("mtd: parsers: add TP-Link SafeLoader partitions table parser")
>> Signed-off-by: Yuan Can <yuancan at huawei.com>
>> ---
>> drivers/mtd/parsers/tplink_safeloader.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/mtd/parsers/tplink_safeloader.c b/drivers/mtd/parsers/tplink_safeloader.c
>> index f601e7bd8627..860339461905 100644
>> --- a/drivers/mtd/parsers/tplink_safeloader.c
>> +++ b/drivers/mtd/parsers/tplink_safeloader.c
>> @@ -118,6 +118,7 @@ static int mtd_parser_tplink_safeloader_parse(struct mtd_info *mtd,
>> err_free:
>> for (idx -= 1; idx >= 0; idx--)
>> kfree(parts[idx].name);
>> + kfree(parts);
>> err_out:
> This still leaves a leak if mtd_parser_tplink_safeloader_read_table()
> fails. Create a new label and update the goto.
>
> err_free:
> for (idx -= 1; idx >= 0; idx--)
> kfree(parts[idx].name);
> err_free_parts:
> kfree(parts);
> err_out:
> return err;
Thanks for pointing out this! will be fixed in the next version.
--
Best regards,
Yuan Can
More information about the linux-mtd
mailing list