summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5/keytab
diff options
context:
space:
mode:
authorJohn Kohl <jtkohl@mit.edu>1990-05-08 13:42:41 +0000
committerJohn Kohl <jtkohl@mit.edu>1990-05-08 13:42:41 +0000
commit38c6a48143fe4c614de4c697ddb2749f680cd422 (patch)
tree7a406db6802e521555730f5017800076d08429c7 /src/lib/krb5/keytab
parentabb37e967975432e80a832e9eebf0f91506c0d07 (diff)
downloadkrb5-38c6a48143fe4c614de4c697ddb2749f680cd422.tar.gz
krb5-38c6a48143fe4c614de4c697ddb2749f680cd422.tar.xz
krb5-38c6a48143fe4c614de4c697ddb2749f680cd422.zip
fix up confusion about errors and cur_entry
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@778 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/keytab')
-rw-r--r--src/lib/krb5/keytab/file/ktf_get_en.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/krb5/keytab/file/ktf_get_en.c b/src/lib/krb5/keytab/file/ktf_get_en.c
index a4e919225d..dad940c302 100644
--- a/src/lib/krb5/keytab/file/ktf_get_en.c
+++ b/src/lib/krb5/keytab/file/ktf_get_en.c
@@ -37,8 +37,6 @@ OLDDECLARG(krb5_keytab_entry *, entry)
krb5_keytab_entry *cur_entry;
krb5_error_code kerror = 0; /* XXX */
- bzero((char *)&cur_entry, sizeof(krb5_keytab_entry));
-
/* Open the keyfile for reading */
if (kerror = krb5_ktfileint_openr(id))
return(kerror); /* XXX */
@@ -48,6 +46,7 @@ OLDDECLARG(krb5_keytab_entry *, entry)
* is exited with a break statement.
*/
while (TRUE) {
+ cur_entry = 0;
if (kerror = krb5_ktfileint_read_entry(id, &cur_entry))
break;
@@ -63,8 +62,11 @@ OLDDECLARG(krb5_keytab_entry *, entry)
return kerror;
}
if (!(kerror = krb5_ktfileint_close(id))) {
- *entry = *cur_entry;
- xfree(cur_entry);
+ if (cur_entry) {
+ *entry = *cur_entry;
+ xfree(cur_entry);
+ } else
+ kerror = KRB5_KT_NOTFOUND;
} else
krb5_kt_free_entry(cur_entry);
return kerror;