From: Daniel Stenberg Date: Sat, 14 Dec 2024 09:41:05 +0000 (+0100) Subject: tool_getparam: fix the ECH parser X-Git-Tag: curl-8_12_0~355 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6bb76d92e16f5d41d5615df7d55113cf61e2ca08;p=thirdparty%2Fcurl.git tool_getparam: fix the ECH parser The pn: and ecl: prefixes were not handled correctly. CodeSonar helped me realize as it poined out an "Unreachable Data Flow" Closes #15741 --- diff --git a/src/tool_getparam.c b/src/tool_getparam.c index fc23263414..0a41ea79b7 100644 --- a/src/tool_getparam.c +++ b/src/tool_getparam.c @@ -1135,11 +1135,13 @@ static ParameterError parse_ech(struct GlobalConfig *global, err = PARAM_LIBCURL_DOESNT_SUPPORT; else if(strlen(nextarg) > 4 && strncasecompare("pn:", nextarg, 3)) { /* a public_name */ + nextarg += 3; err = getstr(&config->ech_public, nextarg, DENY_BLANK); } else if(strlen(nextarg) > 5 && strncasecompare("ecl:", nextarg, 4)) { /* an ECHConfigList */ - if('@' != *(nextarg + 4)) { + nextarg += 4; + if('@' != *nextarg) { err = getstr(&config->ech_config, nextarg, DENY_BLANK); } else {