From d6b35d62bab9d80f1763a5fa08665d996f9bf787 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Tue, 14 Nov 2006 09:52:05 +0000 Subject: [PATCH] Fix regression from 6.3.4 that crashes fetchmail --mda FOO when encountering malformed message. Report by Neil Hoggart (also closes BerliOS bugs #9364, #9412, #9449). svn path=/branches/BRANCH_6-3/; revision=4940 --- NEWS | 3 +++ TODO.txt | 3 --- sink.c | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/NEWS b/NEWS index a9572510..2e2fa467 100644 --- a/NEWS +++ b/NEWS @@ -55,6 +55,9 @@ fetchmail 6.3.6 (not yet released): Reported by and fixed in cooperation with Isaac Wilcox. # BUG FIXES: +* Repair regression in 6.3.5 that crashes fetchmail when a message with invalid + headers is found while fetchmail's mda option is in use. BerliOS bugs #9364, + #9412, #9449. Stack backtrace provided by Neil Hoggarth - thanks. * Repair --logfile, broken in 6.3.5. BerliOS Bug #9059, reported by Brian Harring. diff --git a/TODO.txt b/TODO.txt index 0af633ff..88da9d1c 100644 --- a/TODO.txt +++ b/TODO.txt @@ -1,9 +1,6 @@ 6.3.6: MUST DO: - enforce OpenSSL 0.9.7 for --sslcertck -WILL NOT DEBUG THESE TWO WITHOUT BACKTRACE - CANNOT REPRODUCE: -- investigate 6.3.5 regression on spam message (berlios bug #9364) -- dito, bug #9412 CODE: - check recent list mail diff --git a/sink.c b/sink.c index 2e36e57e..e2d8c7a7 100644 --- a/sink.c +++ b/sink.c @@ -1317,14 +1317,14 @@ int close_sink(struct query *ctl, struct msgblk *msg, flag forward) { int rc,e,e2,err = 0; - if (ferror(sinkfp)) - err = 1, e2 = errno; - if ((fflush(sinkfp))) - err = 1, e2 = errno; - /* close the delivery pipe, we'll reopen before next message */ if (sinkfp) { + if (ferror(sinkfp)) + err = 1, e2 = errno; + if ((fflush(sinkfp))) + err = 1, e2 = errno; + errno = 0; rc = pclose(sinkfp); e = errno; -- 2.43.2