mirror of
https://github.com/systemd/systemd.git
synced 2025-01-03 06:46:39 -08:00
core: limit the LSan shenanigans to PID 1
Addresses https://github.com/systemd/systemd/pull/29194#pullrequestreview-1630530753.
Follow-up to ae5ce7e
.
This commit is contained in:
parent
bcf3acea75
commit
7b19bd60cf
@ -3185,13 +3185,15 @@ finish:
|
||||
* LSan check would not print any actionable information and would just crash
|
||||
* PID 1. To make this a bit more helpful, let's try to open /dev/console,
|
||||
* and if we succeed redirect LSan's report there. */
|
||||
if (getpid_cached() == 1) {
|
||||
_cleanup_close_ int tty_fd = -EBADF;
|
||||
|
||||
int tty_fd = open_terminal("/dev/console", O_WRONLY|O_NOCTTY|O_CLOEXEC);
|
||||
if (tty_fd >= 0)
|
||||
__sanitizer_set_report_fd((void*) (intptr_t) tty_fd);
|
||||
tty_fd = open_terminal("/dev/console", O_WRONLY|O_NOCTTY|O_CLOEXEC);
|
||||
if (tty_fd >= 0)
|
||||
__sanitizer_set_report_fd((void*) (intptr_t) tty_fd);
|
||||
|
||||
__lsan_do_leak_check();
|
||||
tty_fd = safe_close(tty_fd);
|
||||
__lsan_do_leak_check();
|
||||
}
|
||||
#endif
|
||||
|
||||
if (r < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user