From 91fdb25b5a77defecbbc0cb9b7f15f28e9dab1f0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Pali=20Roh=C3=A1r?= Date: Sun, 5 Jun 2016 15:48:18 +0200 Subject: [PATCH] lib-mail: parse_mailbox: Set display name instead mailbox when parsing failed It does not make sense to set mailbox without domain on incorrect input. Rather set display name which is more likely useable value. Test case: test is parsed as: { name = "test", mailbox = NULL, domain = NULL } --- src/lib-mail/message-address.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/lib-mail/message-address.c b/src/lib-mail/message-address.c index 93b7c83093..5136f90d8e 100644 --- a/src/lib-mail/message-address.c +++ b/src/lib-mail/message-address.c @@ -205,6 +205,11 @@ static int parse_mailbox(struct message_address_parser_context *ctx) /* nope, should be addr-spec */ ctx->parser.data = start; ret = parse_addr_spec(ctx); + if (ctx->addr.invalid_syntax && ctx->addr.name == NULL && + ctx->addr.mailbox == NULL && ctx->addr.domain == NULL) { + ctx->addr.name = ctx->addr.mailbox; + ctx->addr.mailbox = NULL; + } } if (ret < 0) -- 2.47.3