SECURITY: Always exit when LOG_PANIC_DIE is set
authorQualys Security Advisory <qsa@qualys.com>
Mon, 22 Feb 2021 06:09:06 +0000 (22:09 -0800)
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Tue, 27 Apr 2021 22:40:48 +0000 (00:40 +0200)
(cherry picked from commit e20aa895b37f449d5c81c3e7b102fc534b5d23ba)

doc/doc-txt/ChangeLog
src/src/log.c

index a3bf92816abf553f8c58402bdc12028041d5c5d4..ee508faab7a62fac38aaf4cf33fc5a6c7908930c 100644 (file)
@@ -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
 -----------------
 
index 99eba5f905971c5c80bfb6b8e65ae92aa08e9a85..07bf2ce7f601b6def317c0793df2cb119015879c 100644 (file)
@@ -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;
   }