]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: fix memory leak in virDomainGetVcpus
authorLaine Stump <laine@laine.org>
Mon, 2 Apr 2012 04:26:44 +0000 (00:26 -0400)
committerLaine Stump <laine@laine.org>
Mon, 2 Apr 2012 05:56:02 +0000 (01:56 -0400)
https://bugzilla.redhat.com/show_bug.cgi?id=808979

The leak is really in virProcessInfoGetAffinity, as shown in the
valgrind output given in the above bug report - it calls CPU_ALLOC(),
but then fails to call CPU_FREE().

This leak has existed in every version of libvirt since 0.7.5.

src/util/processinfo.c

index b1b1737459ca01063932f2ecf4ee47d5d3d57d0c..af19723b4cba83f015e8ecff62f359082676f9a9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2009-2010 Red Hat, Inc.
+ * Copyright (C) 2009-2010, 2012 Red Hat, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -140,6 +140,7 @@ realloc:
     for (i = 0 ; i < maxcpu ; i++)
         if (CPU_ISSET_S(i, masklen, mask))
             VIR_USE_CPU(map, i);
+    CPU_FREE(mask);
 # else
     /* Legacy method uses a fixed size cpu mask, only allows upto 1024 cpus */
     cpu_set_t mask;