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
This commit is contained in:
Daniel Stenberg 2025-03-13 23:28:42 +01:00
parent acdb48272a
commit 27e07b2943
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -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) {