summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2021-08-19 11:23:08 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2021-08-19 11:23:08 +0100
commit87f15ee4412890d4e6e93a3aa6a37697dc0912e3 (patch)
tree412e2a2634553dfac97bc047562396f12f2fc986
parent8de97e5b7dddd2f033d8c9d531b11eece8af3cc6 (diff)
downloadexim4-87f15ee4412890d4e6e93a3aa6a37697dc0912e3.tar.gz
Logging: specific error for tainted tag in debug filename
-rw-r--r--src/src/log.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/src/log.c b/src/src/log.c
index 1b77f98fa..a7ef3d803 100644
--- a/src/src/log.c
+++ b/src/src/log.c
@@ -518,6 +518,10 @@ switch (type)
Ustrcpy(debuglog_name, buffer);
if (tag)
{
+ if (is_tainted(tag))
+ die(US"exim: tainted tag for debug log filename",
+ US"Logging failure; please try later");
+
/* this won't change the offset of the datestamp */
ok2 = string_format(buffer, sizeof(buffer), "%s%s",
debuglog_name, tag);
@@ -558,9 +562,7 @@ if (!ok)
/* We now have the file name. After a successful open, return. */
-*fd = log_open_as_exim(buffer);
-
-if (*fd >= 0)
+if ((*fd = log_open_as_exim(buffer)) >= 0)
return;
euid = geteuid();