Date: Fri, 18 Aug 2017 18:20:36 +0000 (UTC) From: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= <des@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r322669 - head/lib/libfetch Message-ID: <201708181820.v7IIKaFv061066@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: des Date: Fri Aug 18 18:20:36 2017 New Revision: 322669 URL: https://svnweb.freebsd.org/changeset/base/322669 Log: In fetch_resolve(), if the port number or service name is included in the host argument (e.g. "www.freebsd.org:443"), the service pointer, which is supposed to point to the port or service part, instead points to the separator, causing getaddrinfo() to fail. Note that I have not been able to trigger this bug with fetch(1), nor do I believe it is possible, as libfetch always parses the host:port specification itself. I discovered it when I copied fetch_resolve() into an unrelated project. MFC after: 3 days Modified: head/lib/libfetch/common.c Modified: head/lib/libfetch/common.c ============================================================================== --- head/lib/libfetch/common.c Fri Aug 18 17:32:14 2017 (r322668) +++ head/lib/libfetch/common.c Fri Aug 18 18:20:36 2017 (r322669) @@ -291,7 +291,7 @@ fetch_resolve(const char *addr, int port, int af) goto syserr; service = sbuf; } else if (*sep != '\0') { - service = sep; + service = sep + 1; } else { service = NULL; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708181820.v7IIKaFv061066>