summaryrefslogtreecommitdiffstats
path: root/src/lib/gssapi/generic/util_canonhost.c
diff options
context:
space:
mode:
authorTheodore Tso <tytso@mit.edu>1994-06-10 03:15:51 +0000
committerTheodore Tso <tytso@mit.edu>1994-06-10 03:15:51 +0000
commit9f848ddada00ab926f70bd892b199f875404e26a (patch)
treeeae359aaf7803bf6c9639105b6d9305314d3d054 /src/lib/gssapi/generic/util_canonhost.c
parent21cedd566d71b3debcf7bb0a4f941c6a5977d8bd (diff)
downloadkrb5-9f848ddada00ab926f70bd892b199f875404e26a.tar.gz
krb5-9f848ddada00ab926f70bd892b199f875404e26a.tar.xz
krb5-9f848ddada00ab926f70bd892b199f875404e26a.zip
Updates from OpenVision, before beta 4 release
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@3696 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/gssapi/generic/util_canonhost.c')
-rw-r--r--src/lib/gssapi/generic/util_canonhost.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/gssapi/generic/util_canonhost.c b/src/lib/gssapi/generic/util_canonhost.c
index 8fb7a03fec..277c07836d 100644
--- a/src/lib/gssapi/generic/util_canonhost.c
+++ b/src/lib/gssapi/generic/util_canonhost.c
@@ -36,11 +36,24 @@
char *g_canonicalize_host(char *hostname)
{
struct hostent *hent;
+ char *haddr;
char *canon, *str;
if ((hent = gethostbyname(hostname)) == NULL)
return(NULL);
+ if (! (haddr = xmalloc(hent->h_length))) {
+ return(NULL);
+ }
+
+ memcpy(haddr, hent->h_addr_list[0], hent->h_length);
+
+ if (! (hent = gethostbyaddr(haddr, hent->h_length, hent->h_addrtype))) {
+ return(NULL);
+ }
+
+ xfree(haddr);
+
if ((canon = xmalloc(strlen(hent->h_name)+1)) == NULL)
return(NULL);