mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-20 11:48:28 -06:00
prevent attempt to call cat -c during virDomainSave to raw
This was prevent virDomainSave from working properly by default, which is a bad thing. Signed-off-by: Chris Lalancette <clalance@redhat.com>
This commit is contained in:
parent
58df0daa7f
commit
faa8bf1079
@ -3906,17 +3906,26 @@ static int qemudDomainSave(virDomainPtr dom,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
const char *prog = qemudSaveCompressionTypeToString(header.compressed);
|
||||
if (prog == NULL) {
|
||||
qemudReportError(dom->conn, dom, NULL, VIR_ERR_INTERNAL_ERROR,
|
||||
_("Invalid compress format %d"), header.compressed);
|
||||
goto cleanup;
|
||||
}
|
||||
{
|
||||
const char *prog = qemudSaveCompressionTypeToString(header.compressed);
|
||||
const char *args;
|
||||
|
||||
if (STREQ (prog, "raw"))
|
||||
prog = "cat";
|
||||
internalret = virAsprintf(&command, "migrate \"exec:"
|
||||
"%s -c >> '%s' 2>/dev/null\"", prog, safe_path);
|
||||
if (prog == NULL) {
|
||||
qemudReportError(dom->conn, dom, NULL, VIR_ERR_INTERNAL_ERROR,
|
||||
_("Invalid compress format %d"), header.compressed);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (STREQ (prog, "raw")) {
|
||||
prog = "cat";
|
||||
args = "";
|
||||
} else {
|
||||
args = "-c";
|
||||
}
|
||||
internalret = virAsprintf(&command, "migrate \"exec:"
|
||||
"%s %s >> '%s' 2>/dev/null\"", prog, args,
|
||||
safe_path);
|
||||
}
|
||||
|
||||
if (internalret < 0) {
|
||||
virReportOOMError(dom->conn);
|
||||
|
Loading…
Reference in New Issue
Block a user