summaryrefslogtreecommitdiff
path: root/src/src/exim.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/src/exim.c')
-rw-r--r--src/src/exim.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/src/exim.c b/src/src/exim.c
index 34159da93..067c47f80 100644
--- a/src/src/exim.c
+++ b/src/src/exim.c
@@ -3828,7 +3828,13 @@ during readconf_main() some expansion takes place already. */
/* Store the initial cwd before we change directories. Can be NULL if the
dir has already been unlinked. */
+errno = 0;
initial_cwd = os_getcwd(NULL, 0);
+if (!initial_cwd && errno)
+ exim_fail("exim: getting initial cwd failed: %s\n", strerror(errno));
+
+if (initial_cwd && (strlen(CCS initial_cwd) >= BIG_BUFFER_SIZE))
+ exim_fail("exim: initial cwd is far too long (%d)\n", Ustrlen(CCS initial_cwd));
/* checking:
-be[m] expansion test -