Skip to content

Commit

Permalink
lib-mail: message_address_parse() - don't stop at invalid addresses w…
Browse files Browse the repository at this point in the history
…hen parsing group

Also the end-group's message_address shouldn't have invalid_syntax=TRUE,
except when we didn't actually find the ending ';'
  • Loading branch information
sirainen committed Jun 12, 2017
1 parent 2e9153d commit 49c13c7
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/lib-mail/message-address.c
Expand Up @@ -286,10 +286,10 @@ static int parse_group(struct message_address_parser_context *ctx)
/* mailbox-list =
(mailbox *("," mailbox)) / obs-mbox-list */
if (parse_mailbox(ctx) <= 0) {
ret = -1;
break;
/* broken mailbox - try to continue anyway. */
}
if (*ctx->parser.data != ',')
if (ctx->parser.data == ctx->parser.end ||
*ctx->parser.data != ',')
break;
ctx->parser.data++;
if (rfc822_skip_lwsp(&ctx->parser) <= 0) {
Expand All @@ -299,7 +299,8 @@ static int parse_group(struct message_address_parser_context *ctx)
}
}
if (ret >= 0) {
if (*ctx->parser.data != ';')
if (ctx->parser.data == ctx->parser.end ||
*ctx->parser.data != ';')
ret = -1;
else {
ctx->parser.data++;
Expand Down

0 comments on commit 49c13c7

Please sign in to comment.