mirror of
https://github.com/systemd/systemd.git
synced 2025-03-14 04:58:28 +03:00
log: protect errno in log_open()
Commit 0b1f3c768ce1bd1490a5e53f539976dcef8ca765 has introduced log_open() calls after exec fails post-fork. However, the log_open() call itself could change the value of errno, which, for me, manifested in: $ coredumpctl gdb ... Failed to invoke gdb: Success Fix this by using PROTECT_ERRNO in log_open().
This commit is contained in:
parent
dcb6061e1c
commit
0e557eef37
@ -252,6 +252,13 @@ int log_open(void) {
|
||||
|
||||
/* Do not call from library code. */
|
||||
|
||||
/* This function is often called in preparation for being able
|
||||
* to log. Let's make sure we don't clobber errno, so that a call
|
||||
* to a logging function immediately following a log_open() call
|
||||
* can still easily reference an error that happened immediately
|
||||
* before the log_open() call. */
|
||||
PROTECT_ERRNO;
|
||||
|
||||
/* If we don't use the console we close it here, to not get
|
||||
* killed by SAK. If we don't use syslog we close it here so
|
||||
* that we are not confused by somebody deleting the socket in
|
||||
|
Loading…
x
Reference in New Issue
Block a user