summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>1990-11-28 08:43:43 +0000
committerKen Raeburn <raeburn@mit.edu>1990-11-28 08:43:43 +0000
commit9230ec88707624e34aa9d6fc7c1b0cdf660b45fe (patch)
tree1dab00efc375da9fcd786af497920dd7f00e6a3b /src/lib
parentbbe8fe61241b0909b010e60b76b45a01f5c88d67 (diff)
downloadkrb5-9230ec88707624e34aa9d6fc7c1b0cdf660b45fe.tar.gz
krb5-9230ec88707624e34aa9d6fc7c1b0cdf660b45fe.tar.xz
krb5-9230ec88707624e34aa9d6fc7c1b0cdf660b45fe.zip
Zero out credentials structure correctly; handle reading of authdata
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@1504 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb5/ccache/stdio/scc_nseq.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/lib/krb5/ccache/stdio/scc_nseq.c b/src/lib/krb5/ccache/stdio/scc_nseq.c
index ce8bf5092..2bdda2fab 100644
--- a/src/lib/krb5/ccache/stdio/scc_nseq.c
+++ b/src/lib/krb5/ccache/stdio/scc_nseq.c
@@ -51,7 +51,15 @@ krb5_scc_next_cred(id, cursor, creds)
krb5_error_code kret;
krb5_scc_cursor *fcursor;
- bzero((char *)creds, sizeof(*creds));
+#define Z(field) creds->field = 0
+ Z (client);
+ Z (server);
+ Z (keyblock.contents);
+ Z (authdata);
+ Z (ticket.data);
+ Z (second_ticket.data);
+ Z (addresses);
+#undef Z
MAYBE_OPEN (id, "r");
@@ -77,6 +85,8 @@ krb5_scc_next_cred(id, cursor, creds)
TCHECK(kret);
kret = krb5_scc_read_addrs(id, &creds->addresses);
TCHECK(kret);
+ kret = krb5_scc_read_authdata (id, &creds->authdata);
+ TCHECK (kret);
kret = krb5_scc_read_data(id, &creds->ticket);
TCHECK(kret);
kret = krb5_scc_read_data(id, &creds->second_ticket);
@@ -99,6 +109,8 @@ lose:
xfree(creds->second_ticket.data);
if (creds->addresses)
krb5_free_address(creds->addresses);
+ if (creds->authdata)
+ krb5_free_authdata (creds->authdata);
}
MAYBE_CLOSE (id, kret);
return kret;