From: Stephan Bosch Date: Thu, 12 Apr 2018 20:16:54 +0000 (+0200) Subject: lib-mail: message-address: Make sure incomplete paths are rejected by parser. X-Git-Tag: 2.3.2.rc1~167 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2f25c139022dc233fdaf275ea1fae9b781b7f2b4;p=thirdparty%2Fdovecot%2Fcore.git lib-mail: message-address: Make sure incomplete paths are rejected by parser. --- diff --git a/src/lib-mail/message-address.c b/src/lib-mail/message-address.c index 3a6206786f..ce77505e14 100644 --- a/src/lib-mail/message-address.c +++ b/src/lib-mail/message-address.c @@ -396,7 +396,9 @@ static int parse_path(struct message_address_parser_context *ctx) if (*ctx->parser.data != '<') return -1; if ((ret=parse_angle_addr(ctx, TRUE)) < 0 || - (ctx->addr.mailbox != NULL && ctx->addr.domain == NULL)) { + (ctx->addr.mailbox != NULL && + (ctx->addr.domain == NULL || *ctx->addr.domain == '\0')) || + (ctx->addr.mailbox == NULL && ctx->addr.domain != NULL)) { ctx->addr.invalid_syntax = TRUE; ret = -1; } diff --git a/src/lib-mail/test-message-address.c b/src/lib-mail/test-message-address.c index 0d8249b4f9..722e74bb7e 100644 --- a/src/lib-mail/test-message-address.c +++ b/src/lib-mail/test-message-address.c @@ -414,6 +414,7 @@ static void test_message_address_path_invalid(void) "", "<@route@route2:user>", "<@domain>", + "", }; const struct message_address *addr; unsigned int i;