From 944fe54b6e2ec4b92dbd96ba427e4070f2e05086 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Tue, 28 Nov 2023 16:35:22 +0100 Subject: [PATCH] ch: Don't leak ch_driver->chCaps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit During CH driver initialization (chStateInitialize()) the driver's capabilities bitmap is allocated (virCHCapsInitCHVersionCaps()), but corresponding free call is missing in chStateCleanup(). And while at it, reorder calls to virObjectUnref() inside of chStateCleanup() to be the reverse order of that in chStateInitialize() so that it's easier to spot missing free/unref call. Signed-off-by: Michal Privoznik Reviewed-by: Jonathon Jongsma Reviewed-by: Ján Tomko --- src/ch/ch_driver.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ch/ch_driver.c b/src/ch/ch_driver.c index bd271fc0ee..96de5044ac 100644 --- a/src/ch/ch_driver.c +++ b/src/ch/ch_driver.c @@ -850,10 +850,11 @@ static int chStateCleanup(void) if (ch_driver == NULL) return -1; - virObjectUnref(ch_driver->domains); + virBitmapFree(ch_driver->chCaps); + virObjectUnref(ch_driver->config); virObjectUnref(ch_driver->xmlopt); virObjectUnref(ch_driver->caps); - virObjectUnref(ch_driver->config); + virObjectUnref(ch_driver->domains); virMutexDestroy(&ch_driver->lock); g_clear_pointer(&ch_driver, g_free);