Am 22.11.2011 17:16, schrieb Kevin Wolf:
The block map is allocated in vdi_open, but was never freed.

Signed-off-by: Kevin Wolf<kw...@redhat.com>
---
Applies on top if the migration blocker series.

  block/vdi.c |    3 +++
  1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/block/vdi.c b/block/vdi.c
index 7dda522..02da6b4 100644
--- a/block/vdi.c
+++ b/block/vdi.c
@@ -949,6 +949,9 @@ static int vdi_create(const char *filename, 
QEMUOptionParameter *options)
  static void vdi_close(BlockDriverState *bs)
  {
      BDRVVdiState *s = bs->opaque;
+
+    g_free(s->bmap);
+
      migrate_del_blocker(s->migration_blocker);
      error_free(s->migration_blocker);
  }

If vdi_close is called after a jump to label fail_free_bmap,
g_free(s->bmap) will be called twice.

Setting s->bmap = NULL after g_free in fail_free_bmap
would be safer.

Otherwise your patch is fine. If you send an update, you
can add

Reviewed-by: Stefan Weil <s...@weilnetz.de>

Regards,
Stefan Weil



Reply via email to