From 0919411873756ceb32e3cb62e6be7169b490a2d1 Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan.bosch@open-xchange.com> Date: Fri, 19 Aug 2022 21:59:53 +0200 Subject: [PATCH] lib-managesieve: managesieve-url - Resolve static analyzer complaint. --- src/lib-managesieve/managesieve-url.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/lib-managesieve/managesieve-url.c b/src/lib-managesieve/managesieve-url.c index 9d7cdb874..d2d765861 100644 --- a/src/lib-managesieve/managesieve-url.c +++ b/src/lib-managesieve/managesieve-url.c @@ -203,7 +203,8 @@ managesieve_url_parse_path_segment(struct managesieve_url_parser *url_parser, if (*parser->cur == '%') { unsigned char ch = 0; - if (segment != NULL) { + if (segment_r != NULL) { + i_assert(segment != NULL); str_append_data(segment, offset, parser->cur - offset); } @@ -213,8 +214,10 @@ managesieve_url_parse_path_segment(struct managesieve_url_parser *url_parser, return -1; i_assert(ret > 0); - if (segment != NULL) + if (segment_r != NULL) { + i_assert(segment != NULL); str_append_c(segment, ch); + } offset = parser->cur; continue; } @@ -223,8 +226,10 @@ managesieve_url_parse_path_segment(struct managesieve_url_parser *url_parser, break; parser->cur++; } - if (segment != NULL) + if (segment_r != NULL) { + i_assert(segment != NULL); str_append_data(segment, offset, parser->cur - offset); + } if (parser->cur < parser->end && *parser->cur != '/' && *parser->cur != '?' && *parser->cur != '#') { @@ -237,8 +242,10 @@ managesieve_url_parse_path_segment(struct managesieve_url_parser *url_parser, if (first == parser->cur) return 0; - if (segment != NULL) + if (segment_r != NULL) { + i_assert(segment != NULL); *segment_r = p_strdup(parser->pool, str_c(segment)); + } return 1; } -- GitLab