aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--smtpd/mta_session.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/smtpd/mta_session.c b/smtpd/mta_session.c
index ffb0cd2b..94bd2f25 100644
--- a/smtpd/mta_session.c
+++ b/smtpd/mta_session.c
@@ -1013,6 +1013,11 @@ mta_flush_task(struct mta_session *s, int delivery, const char *error)
free(s->task);
s->task = NULL;
+ if (s->datafp) {
+ fclose(s->datafp);
+ s->datafp = NULL;
+ }
+
stat_decrement("mta.envelope", n);
stat_decrement("mta.task.running", 1);
stat_decrement("mta.task", 1);