[PATCH -next] mtd: docg3: Fix a possible memory leak of mtd->name

2019-01-22 Thread YueHaibing
In case DOC_CHIPID_G3, mtd->name should be freed in the
err handling path, which is alloced by kasprintf.

Fixes: ae9d4934b2d7 ("mtd: docg3: add multiple floor support")
Signed-off-by: YueHaibing 
---
 drivers/mtd/devices/docg3.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c
index 60ddc38..cbd25f9 100644
--- a/drivers/mtd/devices/docg3.c
+++ b/drivers/mtd/devices/docg3.c
@@ -1867,6 +1867,7 @@ doc_probe_device(struct docg3_cascade *cascade, int 
floor, struct device *dev)
 
 nomem4:
kfree(docg3->bbt);
+   kfree(mtd->name);
 nomem3:
kfree(mtd);
 nomem2:
-- 
2.7.0




Re: [PATCH -next] mtd: docg3: Fix a possible memory leak of mtd->name

2019-01-23 Thread Boris Brezillon
On Wed, 23 Jan 2019 14:59:43 +0800
YueHaibing  wrote:

> In case DOC_CHIPID_G3, mtd->name should be freed in the
> err handling path, which is alloced by kasprintf.
> 
> Fixes: ae9d4934b2d7 ("mtd: docg3: add multiple floor support")
> Signed-off-by: YueHaibing 
> ---
>  drivers/mtd/devices/docg3.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c
> index 60ddc38..cbd25f9 100644
> --- a/drivers/mtd/devices/docg3.c
> +++ b/drivers/mtd/devices/docg3.c
> @@ -1867,6 +1867,7 @@ doc_probe_device(struct docg3_cascade *cascade, int 
> floor, struct device *dev)
>  
>  nomem4:
>   kfree(docg3->bbt);
> + kfree(mtd->name);

Please use devm_kasprintf() instead.

>  nomem3:
>   kfree(mtd);
>  nomem2:



Re: [PATCH -next] mtd: docg3: Fix a possible memory leak of mtd->name

2019-01-23 Thread YueHaibing
On 2019/1/23 16:46, Boris Brezillon wrote:
> On Wed, 23 Jan 2019 14:59:43 +0800
> YueHaibing  wrote:
> 
>> In case DOC_CHIPID_G3, mtd->name should be freed in the
>> err handling path, which is alloced by kasprintf.
>>
>> Fixes: ae9d4934b2d7 ("mtd: docg3: add multiple floor support")
>> Signed-off-by: YueHaibing 
>> ---
>>  drivers/mtd/devices/docg3.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c
>> index 60ddc38..cbd25f9 100644
>> --- a/drivers/mtd/devices/docg3.c
>> +++ b/drivers/mtd/devices/docg3.c
>> @@ -1867,6 +1867,7 @@ doc_probe_device(struct docg3_cascade *cascade, int 
>> floor, struct device *dev)
>>  
>>  nomem4:
>>  kfree(docg3->bbt);
>> +kfree(mtd->name);
> 
> Please use devm_kasprintf() instead.

Ok, will do it in v2.

> 
>>  nomem3:
>>  kfree(mtd);
>>  nomem2:
> 
> 
> .
>