summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5/os/get_krbhst.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/krb5/os/get_krbhst.c')
-rw-r--r--src/lib/krb5/os/get_krbhst.c8
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;