diff options
| author | John Kohl <jtkohl@mit.edu> | 1990-04-26 17:19:14 +0000 |
|---|---|---|
| committer | John Kohl <jtkohl@mit.edu> | 1990-04-26 17:19:14 +0000 |
| commit | ad1c151e557af7b55f2dbb810d7d738a59dd00f9 (patch) | |
| tree | be31687d52a361ec025ed62d83d078b3fb20f901 /src/lib | |
| parent | edfaf185ccf72b3c9c80b40eb4bc7d60f7cab0ef (diff) | |
| download | krb5-ad1c151e557af7b55f2dbb810d7d738a59dd00f9.tar.gz krb5-ad1c151e557af7b55f2dbb810d7d738a59dd00f9.tar.xz krb5-ad1c151e557af7b55f2dbb810d7d738a59dd00f9.zip | |
clean up & make work
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@593 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/krb5/keytab/file/ktf_resolv.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/lib/krb5/keytab/file/ktf_resolv.c b/src/lib/krb5/keytab/file/ktf_resolv.c index 956133aab..8d9b44bee 100644 --- a/src/lib/krb5/keytab/file/ktf_resolv.c +++ b/src/lib/krb5/keytab/file/ktf_resolv.c @@ -18,6 +18,8 @@ static char krb5_ktfile_resolve_c[] = #include <krb5/copyright.h> #include <krb5/krb5.h> +#include <krb5/ext-proto.h> +#include <errno.h> #include "ktfile.h" @@ -28,19 +30,25 @@ krb5_ktfile_resolve(name, id) { krb5_ktfile_data *data; - if ((*id = malloc(sizeof(struct _krb5_kt))) == NULL) - return(KRB5_NO_MEMORY); /* XXX */ + if ((*id = (krb5_keytab) malloc(sizeof(**id))) == NULL) + return(ENOMEM); (*id)->ops = &krb5_ktf_ops; - if ((data = (krb5_ktfile_data *)malloc(sizeof(krb5_ktfile_data))) == NULL) - return(KRB5_NO_MEMORY); /* XXX */ + if ((data = (krb5_ktfile_data *)malloc(sizeof(krb5_ktfile_data))) == NULL) { + xfree(*id); + return(ENOMEM); + } - if ((data->name = (char *)calloc(strlen(name) + 1, sizeof(char))) == NULL) - return(KRB5_NO_MEMORY); /* XXX */ + if ((data->name = (char *)calloc(strlen(name) + 1, sizeof(char))) == NULL) { + xfree(data); + xfree(*id); + return(ENOMEM); + } (void) strcpy(data->name, name); + data->openf = 0; - id->data = (krb5_pointer)data; + (*id)->data = (krb5_pointer)data; return(0); /* XXX */ } |
