(roken_getaddrinfo_hostspec): copy the correct length from `hostspec'.

based on a patch from Love <lha@s3.kth.se>


git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8184 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
2000-04-14 01:31:29 +00:00
parent 310c5ab3eb
commit 82cfb536fb

View File

@@ -49,6 +49,7 @@ roken_getaddrinfo_hostspec(const char *hostspec,
char portstr[NI_MAXSERV];
char host[MAXHOSTNAMELEN];
struct addrinfo hints;
int hostspec_len;
struct hst {
const char *prefix;
@@ -81,9 +82,12 @@ roken_getaddrinfo_hostspec(const char *hostspec,
char *end;
port = strtol (p + 1, &end, 0);
hostspec_len = p - hostspec;
} else {
hostspec_len = strlen(hostspec);
}
snprintf (portstr, sizeof(portstr), "%u", port);
snprintf (host, sizeof(host), "%.*s", p - hostspec, hostspec);
snprintf (host, sizeof(host), "%.*s", hostspec_len, hostspec);
return getaddrinfo (host, portstr, &hints, ai);
}