aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2000-10-24 04:28:32 +0800
committerDan Winship <danw@src.gnome.org>2000-10-24 04:28:32 +0800
commitf842b74c9a64a6ee4d77a0808a9a1d0110cc1c23 (patch)
treeb3fa6a331da615207d1756a350cb6ddf57650bd4
parent46b30bb1be3c8b8bbd506bcc49fd732e2121e14f (diff)
downloadgsoc2013-evolution-f842b74c9a64a6ee4d77a0808a9a1d0110cc1c23.tar
gsoc2013-evolution-f842b74c9a64a6ee4d77a0808a9a1d0110cc1c23.tar.gz
gsoc2013-evolution-f842b74c9a64a6ee4d77a0808a9a1d0110cc1c23.tar.bz2
gsoc2013-evolution-f842b74c9a64a6ee4d77a0808a9a1d0110cc1c23.tar.lz
gsoc2013-evolution-f842b74c9a64a6ee4d77a0808a9a1d0110cc1c23.tar.xz
gsoc2013-evolution-f842b74c9a64a6ee4d77a0808a9a1d0110cc1c23.tar.zst
gsoc2013-evolution-f842b74c9a64a6ee4d77a0808a9a1d0110cc1c23.zip
Fix a "how could this have been working before" memory overrun bug found
* providers/imap/camel-imap-command.c (imap_read_untagged): Fix a "how could this have been working before" memory overrun bug found by Vlad. svn path=/trunk/; revision=6129
-rw-r--r--camel/ChangeLog4
-rw-r--r--camel/providers/imap/camel-imap-command.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 3af6acd80d..23a85a5c48 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,5 +1,9 @@
2000-10-23 Dan Winship <danw@helixcode.com>
+ * providers/imap/camel-imap-command.c (imap_read_untagged): Fix a
+ "how could this have been working before" memory overrun bug
+ found by Vlad.
+
* camel-op-queue.[ch], camel-thread-proxy.[ch]: These should have
gone away a long time ago.
diff --git a/camel/providers/imap/camel-imap-command.c b/camel/providers/imap/camel-imap-command.c
index 4310bd90de..932bccfde8 100644
--- a/camel/providers/imap/camel-imap-command.c
+++ b/camel/providers/imap/camel-imap-command.c
@@ -281,6 +281,9 @@ imap_read_untagged (CamelImapStore *store, char *line, CamelException *ex)
length--;
}
+ /* Add the length of the post-literal line. */
+ fulllen += strlen (line);
+
/* p points to the "{" in the line that starts the literal.
* The length of the CR-less response must be less than or
* equal to the length of the response with CRs, therefore