X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/ee8b809061baea861fc87c41bcb72a62d76b0047..aded22555eeb31bc032f9bc58a83762981a58391:/src/src/exim.c diff --git a/src/src/exim.c b/src/src/exim.c index a3d1b9e60..f6f15f449 100644 --- a/src/src/exim.c +++ b/src/src/exim.c @@ -174,15 +174,22 @@ Returns: nothing void set_process_info(const char *format, ...) { -int len = sprintf(CS process_info, "%5d ", (int)getpid()); +gstring gs = { .size = PROCESS_INFO_SIZE - 2, .ptr = 0, .s = process_info }; +gstring * g; +int len; va_list ap; + +g = string_fmt_append(&gs, "%5d ", (int)getpid()); +len = g->ptr; va_start(ap, format); -if (!string_vformat(process_info + len, PROCESS_INFO_SIZE - len - 2, format, ap)) - Ustrcpy(process_info + len, "**** string overflowed buffer ****"); -len = Ustrlen(process_info); -process_info[len+0] = '\n'; -process_info[len+1] = '\0'; -process_info_len = len + 1; +if (!string_vformat(g, FALSE, format, ap)) + { + gs.ptr = len; + g = string_cat(&gs, US"**** string overflowed buffer ****"); + } +g = string_catn(g, US"\n", 1); +string_from_gstring(g); +process_info_len = g->ptr; DEBUG(D_process_info) debug_printf("set_process_info: %s", process_info); va_end(ap); } @@ -2690,7 +2697,7 @@ for (i = 1; i < argc; i++) #ifdef SUPPORT_TLS /* -MCt: similar to -MCT below but the connection is still open - via a proxy proces which handles the TLS context and coding. + via a proxy process which handles the TLS context and coding. Require three arguments for the proxied local address and port, and the TLS cipher. */ @@ -3649,7 +3656,7 @@ if (f.running_in_test_harness) smtputf8_advertise_hosts = NULL; is a failure. It leaves the configuration file open so that the subsequent configuration data for delivery can be read if needed. -NOTE: immediatly after opening the configuration file we change the working +NOTE: immediately after opening the configuration file we change the working directory to "/"! Later we change to $spool_directory. We do it there, because during readconf_main() some expansion takes place already. */