From: Daniel Stenberg Date: Thu, 13 Mar 2025 22:28:42 +0000 (+0100) Subject: doh: remove wrong but unreachable exit path from doh_decode_rdata_name X-Git-Tag: curl-8_13_0~143 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=27e07b2943ca4ab3f8e4910466231f822299421d;p=thirdparty%2Fcurl.git doh: remove wrong but unreachable exit path from doh_decode_rdata_name The condition could not happen, as the function is only called from a single place where the caller already made sure it can't happen. This change still removes the flawed logic. Reported-by: Ronald Crane Closes #16710 --- diff --git a/lib/doh.c b/lib/doh.c index 6b37727c38..dbeb6d71a3 100644 --- a/lib/doh.c +++ b/lib/doh.c @@ -1018,19 +1018,15 @@ static CURLcode doh_decode_rdata_name(unsigned char **buf, size_t *remaining, char **dnsname) { unsigned char *cp = NULL; - int rem = 0; + size_t rem = 0; unsigned char clen = 0; /* chunk len */ struct dynbuf thename; DEBUGASSERT(buf && remaining && dnsname); - if(!buf || !remaining || !dnsname) + if(!buf || !remaining || !dnsname || !*remaining) return CURLE_OUT_OF_MEMORY; - rem = (int)*remaining; - if(rem <= 0) { - Curl_dyn_free(&thename); - return CURLE_OUT_OF_MEMORY; - } Curl_dyn_init(&thename, CURL_MAXLEN_host_name); + rem = *remaining; cp = *buf; clen = *cp++; if(clen == 0) {