[PATCH -next] mtd: docg3: Fix a possible memory leak of mtd->name
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
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
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: > > > . >