diff mbox series

block/vvfat: Fix memleaks in vvfat_close()

Message ID 20220207113716.31400-1-hreitz@redhat.com
State New
Headers show
Series block/vvfat: Fix memleaks in vvfat_close() | expand

Commit Message

Hanna Czenczek Feb. 7, 2022, 11:37 a.m. UTC
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(+)

Comments

Kevin Wolf Feb. 7, 2022, 4:36 p.m. UTC | #1
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
diff mbox series

Patch

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);