altsvc: return error on dot-only name

Because it is a trailing dot that otherwise leads to a zero length name.

Coverity CID 1638755.

Closes #15986
This commit is contained in:
Daniel Stenberg 2025-01-13 12:05:02 +01:00
parent e67e2bda5a
commit 81a25ba7a4
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2

View file

@ -108,19 +108,20 @@ static struct altsvc *altsvc_createid(const char *srchost,
return NULL;
DEBUGASSERT(hlen);
DEBUGASSERT(dlen);
if(!hlen || !dlen) {
if(!hlen || !dlen)
/* bad input */
free(as);
return NULL;
}
goto error;
if((hlen > 2) && srchost[0] == '[') {
/* IPv6 address, strip off brackets */
srchost++;
hlen -= 2;
}
else if(srchost[hlen - 1] == '.')
else if(srchost[hlen - 1] == '.') {
/* strip off trailing dot */
hlen--;
if(!hlen)
goto error;
}
if((dlen > 2) && dsthost[0] == '[') {
/* IPv6 address, strip off brackets */
dsthost++;