git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Restrict lifetime of $router_name and $transport_name. Bug 308.
[exim.git]
/
src
/
src
/
deliver.c
diff --git
a/src/src/deliver.c
b/src/src/deliver.c
index 79d431b37307b79fbf24ba6c59d5b926b2a96335..e2605ab2cf9453783bc1e50c3b26f5023d8f1126 100644
(file)
--- a/
src/src/deliver.c
+++ b/
src/src/deliver.c
@@
-1871,6
+1871,9
@@
if ((pid = fork()) == 0)
set_process_info("delivering %s to %s using %s", message_id,
addr->local_part, addr->transport->name);
set_process_info("delivering %s to %s using %s", message_id,
addr->local_part, addr->transport->name);
+ /* Setting this global in the subprocess means we need never clear it */
+ transport_name = addr->transport->name;
+
/* If a transport filter has been specified, set up its argument list.
Any errors will get put into the address, and FALSE yielded. */
/* If a transport filter has been specified, set up its argument list.
Any errors will get put into the address, and FALSE yielded. */
@@
-3855,8
+3858,10
@@
for (delivery_count = 0; addr_remote != NULL; delivery_count++)
int fd = pfd[pipe_write];
host_item *h;
int fd = pfd[pipe_write];
host_item *h;
- /* There are weird circumstances in which logging is disabled */
+ /* Setting this global in the subprocess means we need never clear it */
+ transport_name = tp->name;
+ /* There are weird circumstances in which logging is disabled */
disable_logging = tp->disable_logging;
/* Show pids on debug output if parallelism possible */
disable_logging = tp->disable_logging;
/* Show pids on debug output if parallelism possible */