aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--camel/ChangeLog5
-rw-r--r--camel/providers/imap4/camel-imap4-stream.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 20f9aed116..76dcea3134 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,3 +1,8 @@
+2004-11-15 Jeffrey Stedfast <fejj@novell.com>
+
+ * providers/imap4/camel-imap4-stream.c (camel_imap4_stream_line):
+ Fix bug #69408 by filling our input buffer if inptr == inend.
+
2004-11-13 Jeffrey Stedfast <fejj@ximian.com>
* providers/imap4/camel-imap4-engine.c
diff --git a/camel/providers/imap4/camel-imap4-stream.c b/camel/providers/imap4/camel-imap4-stream.c
index 32d1a20b40..4a48fe5cf2 100644
--- a/camel/providers/imap4/camel-imap4-stream.c
+++ b/camel/providers/imap4/camel-imap4-stream.c
@@ -631,7 +631,10 @@ camel_imap4_stream_line (CamelIMAP4Stream *stream, unsigned char **line, size_t
g_return_val_if_fail (line != NULL, -1);
g_return_val_if_fail (len != NULL, -1);
- if ((stream->inend - stream->inptr) < 2 && *stream->inptr != '\n') {
+ inptr = stream->inptr;
+ inend = stream->inend;
+
+ if (inptr == inend || ((inend - inptr) < 2 && *inptr != '\n')) {
if (imap4_fill (stream) == -1 && stream->inptr == stream->inend)
return -1;
}