summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQualys Security Advisory <qsa@qualys.com>2021-02-21 22:09:06 -0800
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>2021-04-28 00:40:48 +0200
commit3b8c0ceb7339329188e19efb907da950dbe691d1 (patch)
treeda67c0c47cd2091b9a533fb1ceba39cd790d90fb
parent645a31d16195bb6b73f0a0d0c04b2251e5b28421 (diff)
downloadexim4-3b8c0ceb7339329188e19efb907da950dbe691d1.tar.gz
SECURITY: Always exit when LOG_PANIC_DIE is set
(cherry picked from commit e20aa895b37f449d5c81c3e7b102fc534b5d23ba)
-rw-r--r--doc/doc-txt/ChangeLog4
-rw-r--r--src/src/log.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index a3bf92816..ee508faab 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -217,6 +217,10 @@ QS/03 When reading the output from interpreted forward files we do not
pass the pipe between the parent and the interpreting process to
executed child processes (if any).
+QS/04 Always die if requested from internal logging, even is logging is
+ disabled.
+
+
Exim version 4.94
-----------------
diff --git a/src/src/log.c b/src/src/log.c
index 99eba5f90..07bf2ce7f 100644
--- a/src/src/log.c
+++ b/src/src/log.c
@@ -900,6 +900,7 @@ if (!(flags & (LOG_MAIN|LOG_PANIC|LOG_REJECT)))
if (f.disable_logging)
{
DEBUG(D_any) debug_printf("log writing disabled\n");
+ if ((flags & LOG_PANIC_DIE) == LOG_PANIC_DIE) exim_exit(EXIT_FAILURE);
return;
}