[libvirt] [PATCH] qemu: Fix memory leak when building -cpu argument

Jiri Denemark jdenemar at redhat.com
Wed Feb 8 15:32:40 UTC 2012


On Wed, Feb 08, 2012 at 08:22:37 -0700, Eric Blake wrote:
> On 02/08/2012 06:38 AM, Jiri Denemark wrote:
> > Reported by Alex Jia:
> > 
> > ==21503== 112 (32 direct, 80 indirect) bytes in 1 blocks are
> > definitely lost in loss record 37 of 40
> > ==21503==    at 0x4A04A28: calloc (vg_replace_malloc.c:467)
> > ==21503==    by 0x4A8991: virAlloc (memory.c:101)
> > ==21503==    by 0x505A6C: x86DataCopy (cpu_x86.c:247)
> > ==21503==    by 0x507B34: x86Compute (cpu_x86.c:1225)
> > ==21503==    by 0x43103C: qemuBuildCommandLine (qemu_command.c:3561)
> > ==21503==    by 0x41C9F7: testCompareXMLToArgvHelper
> > (qemuxml2argvtest.c:183)
> > ==21503==    by 0x41E10D: virtTestRun (testutils.c:141)
> > ==21503==    by 0x41B942: mymain (qemuxml2argvtest.c:705)
> > ==21503==    by 0x41D7E7: virtTestMain (testutils.c:696)
> > ---
> > 
> > I should really stop postponing my work to emebed the architecture into
> > cpu data so that cpuDataFree() only needs one argument.
> > 
> >  src/qemu/qemu_command.c |    3 +--
> >  1 files changed, 1 insertions(+), 2 deletions(-)
> > 
> > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> > index 0e26df1..a346f1e 100644
> > --- a/src/qemu/qemu_command.c
> > +++ b/src/qemu/qemu_command.c
> > @@ -3666,8 +3666,7 @@ qemuBuildCpuArgStr(const struct qemud_driver *driver,
> >      ret = 0;
> >  
> >  cleanup:
> > -    if (guest)
> > -        cpuDataFree(guest->arch, data);
> > +    cpuDataFree(host->arch, data);
> 
> ACK.

Pushed, thanks.

Jirka




More information about the libvir-list mailing list