From: Daniel Stenberg Date: Mon, 13 Jan 2025 11:05:02 +0000 (+0100) Subject: altsvc: return error on dot-only name X-Git-Tag: curl-8_12_0~133 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81a25ba7a420df67013b320b71f3548a32e50360;p=thirdparty%2Fcurl.git 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 --- diff --git a/lib/altsvc.c b/lib/altsvc.c index 62f2c545fe..a77b1cf279 100644 --- a/lib/altsvc.c +++ b/lib/altsvc.c @@ -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++;