[exim-cvs] Fix logging of cmdline args when starting in an u…

Kezdőlap
Üzenet törlése
Válasz az üzenetre
Szerző: Exim Git Commits Mailing List
Dátum:  
Címzett: exim-cvs
Tárgy: [exim-cvs] Fix logging of cmdline args when starting in an unlinked cwd. Bug 2274
Gitweb: https://git.exim.org/exim.git/commitdiff/675ae646c0506f6740bb8afa28c8c4892dabbdaf
Commit:     675ae646c0506f6740bb8afa28c8c4892dabbdaf
Parent:     1613fd68b5931757016c3c25fdc3b0f37827e7f1
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Wed Jun 6 10:41:51 2018 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Wed Jun 6 10:43:18 2018 +0100


    Fix logging of cmdline args when starting in an unlinked cwd.  Bug 2274
---
 src/src/exim.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)


diff --git a/src/src/exim.c b/src/src/exim.c
index 810550d..9f6efaf 100644
--- a/src/src/exim.c
+++ b/src/src/exim.c
@@ -4083,18 +4083,23 @@ a debugging feature for finding out what arguments certain MUAs actually use.
Don't attempt it if logging is disabled, or if listing variables or if
verifying/testing addresses or expansions. */

-if (((debug_selector & D_any) != 0 || LOGGING(arguments))
+if (  (debug_selector & D_any  ||  LOGGING(arguments))
       && really_exim && !list_options && !checking)
   {
   int i;
   uschar *p = big_buffer;
   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';
+  if (!initial_cwd)
+    p += 13;
+  else
+    {
+    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';
+    }


(void)string_format(p, big_buffer_size - (p - big_buffer), " %d args:", argc);
while (*p) p++;