mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
admin: Throw a system error when 'open' fails on user-provided output
There was an unhandled 'open' call which resulted in: "error: Library function returned error but did not set virError" Even if this happens during the daemon's start when we still don't have any set of outputs defined yet, we can safely report an error, since we automatically fallback to stderr which is fine even for both running as a daemonized process, since this happens before the daemon forks into the background, and running as a systemd service, since systemd re-directs std outputs to journald by default. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1436060 Signed-off-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
parent
bec69c5c12
commit
6461510386
@ -750,8 +750,10 @@ virLogNewOutputToFile(virLogPriority priority,
|
||||
virLogOutputPtr ret = NULL;
|
||||
|
||||
fd = open(file, O_CREAT | O_APPEND | O_WRONLY, S_IRUSR | S_IWUSR);
|
||||
if (fd < 0)
|
||||
if (fd < 0) {
|
||||
virReportSystemError(errno, _("failed to open %s"), file);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!(ret = virLogOutputNew(virLogOutputToFd, virLogCloseFd,
|
||||
(void *)(intptr_t)fd,
|
||||
|
Loading…
x
Reference in New Issue
Block a user