diff options
author | Phil Pennock <pdp@exim.org> | 2018-05-19 12:09:55 -0400 |
---|---|---|
committer | Phil Pennock <pdp@exim.org> | 2018-05-19 12:10:39 -0400 |
commit | 805fd869d551c36d1d77ab2b292a7008d643ca79 (patch) | |
tree | b7c35e51ec6e125198bda8699911784bc08fb965 /src | |
parent | 183c55432641afe63f9fdacd0461fb2e8d80d0dc (diff) |
Safer handling of argument-logging memory of cwd
Diffstat (limited to 'src')
-rw-r--r-- | src/src/exim.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/src/exim.c b/src/src/exim.c index c21d9eb7d..810550dd5 100644 --- a/src/src/exim.c +++ b/src/src/exim.c @@ -4091,8 +4091,11 @@ if (((debug_selector & D_any) != 0 || LOGGING(arguments)) Ustrcpy(p, "cwd= (failed)"); Ustrncpy(p + 4, initial_cwd, big_buffer_size-5); + p += 4 + Ustrlen(initial_cwd); + /* in case p is near the end and we don't provide enough space for + * string_format to be willing to write. */ + *p = '\0'; - while (*p) p++; (void)string_format(p, big_buffer_size - (p - big_buffer), " %d args:", argc); while (*p) p++; for (i = 0; i < argc; i++) |