From 544060fb533445f4dba26ed002a9bb8a08a4581c Mon Sep 17 00:00:00 2001 From: Stephan Bosch Date: Tue, 24 Mar 2020 21:11:01 +0100 Subject: [PATCH] lib-smtp: smtp-syntax - Do not allow NULL return parameters for smtp_xtext_parse(). --- src/lib-smtp/smtp-syntax.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib-smtp/smtp-syntax.c b/src/lib-smtp/smtp-syntax.c index b62de7ea36..25f52c1dea 100644 --- a/src/lib-smtp/smtp-syntax.c +++ b/src/lib-smtp/smtp-syntax.c @@ -87,18 +87,19 @@ int smtp_xtext_parse(const char *xtext, const char **value_r, struct smtp_parser parser; string_t *value = NULL; + *value_r = NULL; + *error_r = NULL; + if (xtext == NULL || *xtext == '\0') { *value_r = ""; return 1; } - if (value_r != NULL) - value = t_str_new(256); + value = t_str_new(256); smtp_parser_init(&parser, pool_datastack_create(), xtext); if (smtp_parser_parse_xtext(&parser, value) < 0) { - if (error_r != NULL) - *error_r = parser.error; + *error_r = parser.error; return -1; } if (parser.cur < parser.end) { @@ -109,8 +110,7 @@ int smtp_xtext_parse(const char *xtext, const char **value_r, if (value_r != NULL) { *value_r = str_c(value); if (strlen(*value_r) != str_len(value)) { - if (*error_r != NULL) - *error_r = "Encountered NUL character in xtext"; + *error_r = "Encountered NUL character in xtext"; return -1; } } -- 2.47.3