[exim-dev] DCC header corruption

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Northfield Stuart
Date:  
À: exim-dev
Sujet: [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