On Sat, Jun 4, 2011 at 1:42 AM, Fam Zheng <famc...@gmail.com> wrote:
> Signed-off-by: Fam Zheng <famc...@gmail.com>
> ---
>  block/vmdk.c |    9 +++++++--
>  1 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/block/vmdk.c b/block/vmdk.c
> index 1d74b62..bbab68a 100644
> --- a/block/vmdk.c
> +++ b/block/vmdk.c
> @@ -1086,10 +1086,15 @@ exit:
>
>  static void vmdk_close(BlockDriverState *bs)
>  {
> +    int i;
>     BDRVVmdkState *s = bs->opaque;
>
> -    qemu_free(s->extents[0].l1_table);
> -    qemu_free(s->extents[0].l2_cache);
> +    for (i = 0; i < s->num_extents; i++) {
> +        qemu_free(s->extents[i].l1_table);
> +        qemu_free(s->extents[i].l2_cache);
> +        qemu_free(s->extents[i].l1_backup_table);
> +    }
> +    qemu_free(s->extents);
>  }

Should this patch be moved/merged earlier in the series to prevent
leaks?  (Each commit in the series should build and execute correctly.
 There should be no intermediate leaks, crashes, or other problems.)

Stefan

Reply via email to