On Thu, Aug 4, 2011 at 6:34 PM, Stefan Hajnoczi <stefa...@gmail.com> wrote: > On Thu, Aug 4, 2011 at 4:09 AM, Fam Zheng <famc...@gmail.com> wrote: >> +static void vmdk_free_last_extent(BlockDriverState *bs) >> +{ >> + BDRVVmdkState *s = bs->opaque; >> + >> + if (s->num_extents == 0) { >> + return; >> + } >> + s->num_extents--; >> + s->extents = qemu_realloc(s->extents, s->num_extents * >> sizeof(VmdkExtent)); > > vmdk_free_extents() frees extent->l1_table, extent->l2_cache, and > extent->l1_backup_table. Are they being leaked here?
No, it's only called after vmdk_init_tables fails, where no table is actually allocated to the extent. -- Best regards! Fam Zheng