Fetchmail is occasionally core dumping when trying to download certain
spam messages, preventing me from getting to the more important messages
behind them (and making it hard to determine that they _are_ spam)
All this info was generated with 6.2.0, but I verified that it also occurs
in 6.2.2.
From my preliminary debugging, it appears that the program is getting
bogged down in the
following loop:
/* The line may contain NUL characters. Find the last char to use
* -- the real line termination is the sequence "\n\0".
*/
last = buf + 1; /* last[-1] must be valid! */
while ((last += strlen(last)) && (last[-1] != '\n'))
last++;
in the stuffline function in sink.c because buf doesn't contain the '\n'
that stuffline assumes
it has.
The question I haven't tried to figure out yet, is which function
is/should be responsible for making sure this doesn't happen.
So you can double check my reasoning, I'll attach copies of the stack
trace and the output from "fetchmail -v -v".
I'll be messing with this some more over the next few days, and I'll try
to generate a test case for people to use.
backtrace
Description: backtrace
log
Description: log