From: Stephan Bosch Date: Sat, 11 Apr 2026 12:12:08 +0000 (+0200) Subject: [PATCH 1/2] lib-managesieve: managesieve-parser - Fix handling of lone CR character X-Git-Tag: archive/raspbian/1%2.4.1+dfsg1-6+rpi1+deb13u7^2~45 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e7c0c6546d12bb8ef6720d216cc9bde8b4e7d904;p=dovecot.git [PATCH 1/2] lib-managesieve: managesieve-parser - Fix handling of lone CR character Gbp-Pq: Name 0001-lib-managesieve-managesieve-parser-Fix-handling-of-l.patch --- diff --git a/pigeonhole/src/lib-managesieve/managesieve-parser.c b/pigeonhole/src/lib-managesieve/managesieve-parser.c index 546e431..3d34c1c 100644 --- a/pigeonhole/src/lib-managesieve/managesieve-parser.c +++ b/pigeonhole/src/lib-managesieve/managesieve-parser.c @@ -441,6 +441,15 @@ static bool managesieve_parser_read_arg(struct managesieve_parser *parser) switch (data[0]) { case '\r': + if (data_size == 1) { + /* Wait for LF */ + return FALSE; + } + if (data[1] != '\n') { + parser->error = "CR sent without LF"; + return FALSE; + } + /* Fall through */ case '\n': /* Unexpected end of line */ parser->eol = TRUE;