(Second attempt at submitting this as first message seems to have disappeared 
down a black hole.)

I have recently been experiencing corruption and/or truncation of the DCC 
header being logged and added to my messages using the built-in exim dcc 
support in the data acl.

Upon investigation, I note that in dcc.c the global dcc_header is being pointed 
at a stack based string before the dcc code returns, despite the fact that 
there appears to be a (currently unused) global char array dcc_header_str which 
is presumably intended to have the header copied in to it and then dcc_header 
pointed at that.

Replacing the following line (483 in my copy of src/dcc.c):

dcc_header = xhdr;

with

strncpy(dcc_header = dcc_header_str, xhdr, sizeof(dcc_header_str));

seems to cure the problem for me, although being unfamiliar with Exim's source 
base, it's not clear to me if this is the correct solution.

Regards

Stu


-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim 
details at http://www.exim.org/ ##

Reply via email to