diff options
Diffstat (limited to 'src/lib/krb5/os/get_krbhst.c')
-rw-r--r-- | src/lib/krb5/os/get_krbhst.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/krb5/os/get_krbhst.c b/src/lib/krb5/os/get_krbhst.c index 0a02a38054..d41b80a37b 100644 --- a/src/lib/krb5/os/get_krbhst.c +++ b/src/lib/krb5/os/get_krbhst.c @@ -85,7 +85,10 @@ krb5_get_krbhst(context, realm, hostlist) else { retval = 0; rethlist = (char **)calloc(hlsize, sizeof (*rethlist)); - for (;;) { + if (rethlist == NULL) + retval = ENOMEM; + + while (retval == 0) { if (fgets(filebuf, sizeof(filebuf), config_file) == NULL) break; if (strncmp(filebuf, realm->data, realm->length)) @@ -144,7 +147,8 @@ krb5_get_krbhst(context, realm, hostlist) if (hlindex == 0) { krb5_xfree(rethlist); rethlist = 0; - retval = KRB5_REALM_UNKNOWN; + if (retval == 0) + retval = KRB5_REALM_UNKNOWN; } *hostlist = rethlist; |