[exim-dev] DCC header corruption

Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Northfield Stuart
Ημερομηνία:  
Προς: exim-dev
Αντικείμενο: [exim-dev] DCC header corruption
(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