dovecot/dovecot-2.2.8-4ef184875799.patch
Michal Hlavinka 680863f7be Fixed infinite loop in message parsing if message ends with
"--boundary" and CR (without LF). Messages saved via SMTP/LMTP can't
  trigger this, because messages must end with an "LF.". A user could
  trigger this for him/herself though.
- lmtp: Client was sometimes disconnected before all the output was
  sent to it.
- replicator: Database wasn't being exported to disk every 15 minutes
  as it should have. Instead it was being imported, causing "doveadm
  replicator remove" commands to not work very well.
2013-11-20 17:12:58 +01:00

24 lines
877 B
Diff

# HG changeset patch
# User Timo Sirainen <tss@iki.fi>
# Date 1384951853 -7200
# Node ID 4ef184875799baa65b4b6048ccde49eefbfd9050
# Parent a91437fe94b67fc0b5ef8f3177a9ebe1deccc9e3
lib-storage: mail_get_*header*() still didn't handle cached values correctly.
If header ends with ":", the ":" shouldn't be returned as part of the value.
diff -r a91437fe94b6 -r 4ef184875799 src/lib-storage/index/index-mail-headers.c
--- a/src/lib-storage/index/index-mail-headers.c Wed Nov 20 14:38:55 2013 +0200
+++ b/src/lib-storage/index/index-mail-headers.c Wed Nov 20 14:50:53 2013 +0200
@@ -653,8 +653,8 @@
/* cached. skip "header name: " parts in dest. */
for (i = 0; i < len; i++) {
if (data[i] == ':') {
- while (IS_LWSP(data[i+1])) i++;
- if (i+1 != len) i++;
+ i++;
+ while (i < len && IS_LWSP(data[i])) i++;
/* @UNSAFE */
len = get_header_size(dest, i);