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 <mprivozn@redhat.com>
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Michal Privoznik 2023-11-28 16:35:22 +01:00
parent f3573b5efa
commit 944fe54b6e

View File

@ -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);