From: Michal Privoznik Date: Tue, 28 Nov 2023 15:35:22 +0000 (+0100) Subject: ch: Don't leak ch_driver->chCaps X-Git-Tag: v9.10.0-rc2^0 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=944fe54b6e2ec4b92dbd96ba427e4070f2e05086;p=thirdparty%2Flibvirt.git ch: Don't leak ch_driver->chCaps 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 --- 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);