mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 12:35:17 +00:00
qemu: avoid crash on process attach
Detected by ccc-analyzer, reported by Alex Jia. qemuProcessStart always calls qemuProcessWaitForMonitor with a non-negative position, but qemuProcessAttach always calls with -1. In the latter case, there is no log file we can scrape, so we also should not be trying to scrape the logs if the qemu process died at the very end. * src/qemu/qemu_process.c (qemuProcessWaitForMonitor): Don't try to read from log in qemuProcessAttach case.
This commit is contained in:
parent
3aa84653d1
commit
5ef1b6c54a
@ -1214,7 +1214,7 @@ qemuProcessWaitForMonitor(struct qemud_driver* driver,
|
||||
cleanup:
|
||||
virHashFree(paths);
|
||||
|
||||
if (kill(vm->pid, 0) == -1 && errno == ESRCH) {
|
||||
if (pos != -1 && kill(vm->pid, 0) == -1 && errno == ESRCH) {
|
||||
/* VM is dead, any other error raised in the interim is probably
|
||||
* not as important as the qemu cmdline output */
|
||||
qemuProcessReadLogFD(logfd, buf, buf_size, strlen(buf));
|
||||
@ -1225,8 +1225,6 @@ cleanup:
|
||||
}
|
||||
|
||||
closelog:
|
||||
VIR_FREE(buf);
|
||||
|
||||
if (VIR_CLOSE(logfd) < 0) {
|
||||
char ebuf[1024];
|
||||
VIR_WARN("Unable to close logfile: %s",
|
||||
|
Loading…
x
Reference in New Issue
Block a user