From: Art Cancro Date: Fri, 12 Apr 2024 16:15:57 +0000 (-0700) Subject: Fixed parsing of message-id angle brackets X-Git-Tag: v999~1 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=2e8a881302b3abfd12512e76fd122d0ef915feb1 Fixed parsing of message-id angle brackets --- diff --git a/citadel/server/internet_addressing.c b/citadel/server/internet_addressing.c index 09d7fd131..746bed1a0 100644 --- a/citadel/server/internet_addressing.c +++ b/citadel/server/internet_addressing.c @@ -887,26 +887,19 @@ int convert_field(struct CtdlMessage *msg, const char *beg, const char *end) { syslog(LOG_WARNING, "internet_addressing: duplicate message id"); } else { - char *pValue; - long pValueLen; - - pValue = value; - pValueLen = valuelen; - // Strip angle brackets - while (haschar(pValue, '<') > 0) { - pValue ++; - pValueLen --; - } - - for (i = 0; i <= pValueLen; ++i) - if (pValue[i] == '>') { - pValueLen = i; - break; + char *pvalue = value; // strip out angle brackets + char *ptr = pvalue; + while (*ptr) { + if (*ptr == '<') { + pvalue = ptr + 1; } - - CM_SetField(msg, emessageId, pValue); + if (*ptr == '>') { + *ptr = 0; + } + ++ptr; + } + CM_SetField(msg, emessageId, pvalue); } - processed = 1; }