[PATCH] block/vvfat: Fix memleaks in vvfat_close()

Hanna Reitz posted 1 patch 3 years, 12 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220207113716.31400-1-hreitz@redhat.com
Maintainers: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>
block/vvfat.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] block/vvfat: Fix memleaks in vvfat_close()
Posted by Hanna Reitz 3 years, 12 months ago
qcow_filename and used_clusters are allocated in enable_write_target(),
but freed only in the error path of vvfat_open().  Free them in
vvfat_close(), too.

Signed-off-by: Hanna Reitz <hreitz@redhat.com>
---
 block/vvfat.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/block/vvfat.c b/block/vvfat.c
index b2b58d93b8..811ba76e30 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -3213,6 +3213,8 @@ static void vvfat_close(BlockDriverState *bs)
     array_free(&(s->directory));
     array_free(&(s->mapping));
     g_free(s->cluster_buffer);
+    g_free(s->qcow_filename);
+    g_free(s->used_clusters);
 
     if (s->qcow) {
         migrate_del_blocker(s->migration_blocker);
-- 
2.34.1


Re: [PATCH] block/vvfat: Fix memleaks in vvfat_close()
Posted by Philippe Mathieu-Daudé via 3 years, 12 months ago
On 7/2/22 12:37, Hanna Reitz wrote:
> qcow_filename and used_clusters are allocated in enable_write_target(),
> but freed only in the error path of vvfat_open().  Free them in
> vvfat_close(), too.
> 
> Signed-off-by: Hanna Reitz <hreitz@redhat.com>
> ---
>   block/vvfat.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/block/vvfat.c b/block/vvfat.c
> index b2b58d93b8..811ba76e30 100644
> --- a/block/vvfat.c
> +++ b/block/vvfat.c
> @@ -3213,6 +3213,8 @@ static void vvfat_close(BlockDriverState *bs)
>       array_free(&(s->directory));
>       array_free(&(s->mapping));
>       g_free(s->cluster_buffer);
> +    g_free(s->qcow_filename);
> +    g_free(s->used_clusters);

Previously posted / reviewed :)

https://lore.kernel.org/qemu-devel/20210430162519.271607-2-philmd@redhat.com/
https://lore.kernel.org/qemu-devel/20210430162519.271607-3-philmd@redhat.com/

Re: [PATCH] block/vvfat: Fix memleaks in vvfat_close()
Posted by Kevin Wolf 3 years, 12 months ago
Am 07.02.2022 um 16:20 hat Philippe Mathieu-Daudé geschrieben:
> On 7/2/22 12:37, Hanna Reitz wrote:
> > qcow_filename and used_clusters are allocated in enable_write_target(),
> > but freed only in the error path of vvfat_open().  Free them in
> > vvfat_close(), too.
> > 
> > Signed-off-by: Hanna Reitz <hreitz@redhat.com>
> > ---
> >   block/vvfat.c | 2 ++
> >   1 file changed, 2 insertions(+)
> > 
> > diff --git a/block/vvfat.c b/block/vvfat.c
> > index b2b58d93b8..811ba76e30 100644
> > --- a/block/vvfat.c
> > +++ b/block/vvfat.c
> > @@ -3213,6 +3213,8 @@ static void vvfat_close(BlockDriverState *bs)
> >       array_free(&(s->directory));
> >       array_free(&(s->mapping));
> >       g_free(s->cluster_buffer);
> > +    g_free(s->qcow_filename);
> > +    g_free(s->used_clusters);
> 
> Previously posted / reviewed :)
> 
> https://lore.kernel.org/qemu-devel/20210430162519.271607-2-philmd@redhat.com/
> https://lore.kernel.org/qemu-devel/20210430162519.271607-3-philmd@redhat.com/

Looks like there were questions about patch 3 and even an objection to
patch 4. Do you suggest we apply only the first two patches? I think at
the time I expected you would either reply or send a v2.

Kevin