From a4650316d104ca559101d2944a9ecb43d35b7d72 Mon Sep 17 00:00:00 2001 From: Laine Stump Date: Mon, 2 Apr 2012 00:26:44 -0400 Subject: [PATCH] qemu: fix memory leak in virDomainGetVcpus 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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/util/processinfo.c b/src/util/processinfo.c index b1b1737459..af19723b4c 100644 --- a/src/util/processinfo.c +++ b/src/util/processinfo.c @@ -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; -- GitLab