mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: detect truncated file as invalid save image
If managed save fails at the right point in time, then the save image can end up with 0 bytes in length (no valid header), and our attempts in commit 55d88def to detect and skip invalid save files missed this case. * src/qemu/qemu_driver.c (qemuDomainSaveImageOpen): Also unlink empty file as corrupt. Reported by Dennis Householder.
This commit is contained in:
parent
13d5a6b83d
commit
d99fe011a2
@ -3852,6 +3852,15 @@ qemuDomainSaveImageOpen(struct qemud_driver *driver,
|
||||
goto error;
|
||||
|
||||
if (saferead(fd, &header, sizeof(header)) != sizeof(header)) {
|
||||
if (unlink_corrupt) {
|
||||
if (VIR_CLOSE(fd) < 0 || unlink(path) < 0) {
|
||||
virReportSystemError(errno,
|
||||
_("cannot remove corrupt file: %s"),
|
||||
path);
|
||||
goto error;
|
||||
}
|
||||
return -3;
|
||||
}
|
||||
qemuReportError(VIR_ERR_OPERATION_FAILED,
|
||||
"%s", _("failed to read qemu header"));
|
||||
goto error;
|
||||
|
Loading…
x
Reference in New Issue
Block a user