aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog6
-rw-r--r--camel/providers/smtp/camel-smtp-transport.c5
2 files changed, 11 insertions, 0 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 8c575a14e8..dee5151d26 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,3 +1,9 @@
+2000-12-05 Jeffrey Stedfast <fejj@helixcode.com>
+
+ * providers/smtp/camel-smtp-transport.c (smtp_data): If the data
+ wrapper fails to be written to the stream, unref it and the
+ filters before returning.
+
2000-12-05 Dan Winship <danw@helixcode.com>
* providers/imap/camel-imap-folder.c (imap_get_message): use
diff --git a/camel/providers/smtp/camel-smtp-transport.c b/camel/providers/smtp/camel-smtp-transport.c
index 748fc3010d..a4115c60e8 100644
--- a/camel/providers/smtp/camel-smtp-transport.c
+++ b/camel/providers/smtp/camel-smtp-transport.c
@@ -653,6 +653,11 @@ smtp_data (CamelSmtpTransport *transport, CamelMedium *message, gboolean has_8bi
_("DATA send timed out: message termination: "
"%s: mail not sent"),
g_strerror (errno));
+
+ camel_stream_filter_remove (filtered_stream, lwid);
+ camel_stream_filter_remove (filtered_stream, crlfid);
+ camel_object_unref (CAMEL_OBJECT (filtered_stream));
+
return FALSE;
}