1
0

qemu: use g_autofree instead of VIR_FREE in qemuMonitorTextCreateSnapshot()

While at bugfixing, convert the whole function to the new-style memory
allocation handling.

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Pavel Mores <pmores@redhat.com>
This commit is contained in:
Pavel Mores 2019-12-06 10:11:28 +01:00 committed by Cole Robinson
parent b87cca75c3
commit b036505279

View File

@ -132,14 +132,13 @@ int
qemuMonitorTextCreateSnapshot(qemuMonitorPtr mon, qemuMonitorTextCreateSnapshot(qemuMonitorPtr mon,
const char *name) const char *name)
{ {
char *cmd = NULL; g_autofree char *cmd = NULL;
char *reply = NULL; g_autofree char *reply = NULL;
int ret = -1;
cmd = g_strdup_printf("savevm \"%s\"", name); cmd = g_strdup_printf("savevm \"%s\"", name);
if (qemuMonitorJSONHumanCommand(mon, cmd, &reply)) if (qemuMonitorJSONHumanCommand(mon, cmd, &reply))
goto cleanup; return -1;
if (strstr(reply, "Error while creating snapshot") || if (strstr(reply, "Error while creating snapshot") ||
strstr(reply, "Could not open VM state file") || strstr(reply, "Could not open VM state file") ||
@ -148,19 +147,14 @@ qemuMonitorTextCreateSnapshot(qemuMonitorPtr mon,
(strstr(reply, "Error") && strstr(reply, "while writing VM"))) { (strstr(reply, "Error") && strstr(reply, "while writing VM"))) {
virReportError(VIR_ERR_OPERATION_FAILED, virReportError(VIR_ERR_OPERATION_FAILED,
_("Failed to take snapshot: %s"), reply); _("Failed to take snapshot: %s"), reply);
goto cleanup; return -1;
} else if (strstr(reply, "No block device can accept snapshots")) { } else if (strstr(reply, "No block device can accept snapshots")) {
virReportError(VIR_ERR_OPERATION_INVALID, "%s", virReportError(VIR_ERR_OPERATION_INVALID, "%s",
_("this domain does not have a device to take snapshots")); _("this domain does not have a device to take snapshots"));
goto cleanup; return -1;
} }
ret = 0; return 0;
cleanup:
VIR_FREE(cmd);
VIR_FREE(reply);
return ret;
} }
int qemuMonitorTextLoadSnapshot(qemuMonitorPtr mon, const char *name) int qemuMonitorTextLoadSnapshot(qemuMonitorPtr mon, const char *name)