qemuMigrationSrcBegin: Automatically free 'xml' variable on error

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2022-04-29 14:31:43 +02:00
parent 4f6b1fbcfa
commit 49ef0f95c6

View File

@ -2487,7 +2487,7 @@ qemuMigrationSrcBegin(virConnectPtr conn,
{ {
virQEMUDriver *driver = conn->privateData; virQEMUDriver *driver = conn->privateData;
g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
char *xml = NULL; g_autofree char *xml = NULL;
virDomainAsyncJob asyncJob; virDomainAsyncJob asyncJob;
if (cfg->migrateTLSForce && if (cfg->migrateTLSForce &&
@ -2532,10 +2532,8 @@ qemuMigrationSrcBegin(virConnectPtr conn,
* place. * place.
*/ */
if (virCloseCallbacksSet(driver->closeCallbacks, vm, conn, if (virCloseCallbacksSet(driver->closeCallbacks, vm, conn,
qemuMigrationSrcCleanup) < 0) { qemuMigrationSrcCleanup) < 0)
VIR_FREE(xml);
goto endjob; goto endjob;
}
qemuMigrationJobContinue(vm); qemuMigrationJobContinue(vm);
} else { } else {
goto endjob; goto endjob;
@ -2543,7 +2541,7 @@ qemuMigrationSrcBegin(virConnectPtr conn,
cleanup: cleanup:
virDomainObjEndAPI(&vm); virDomainObjEndAPI(&vm);
return xml; return g_steal_pointer(&xml);
endjob: endjob:
if (flags & VIR_MIGRATE_CHANGE_PROTECTION) if (flags & VIR_MIGRATE_CHANGE_PROTECTION)