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
This commit is contained in:
parent
208b7e81bf
commit
3954b52f28
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user