From 86082e071bb3eba3607e3ce0984332ebb0d12f75 Mon Sep 17 00:00:00 2001 From: Ezra Peisach Date: Tue, 17 Oct 2000 14:05:08 +0000 Subject: * kprop.c, kpropd.c: Use krb5_set_principal_realm() instead of freeing library generated memory using the internal krb5_xfree(). git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12769 dc483132-0cff-0310-8789-dd5450dbe970 --- src/slave/ChangeLog | 5 +++++ src/slave/kprop.c | 18 ++++++++++++------ src/slave/kpropd.c | 9 ++++++--- 3 files changed, 23 insertions(+), 9 deletions(-) (limited to 'src/slave') diff --git a/src/slave/ChangeLog b/src/slave/ChangeLog index 14fab3359..0d97f0927 100644 --- a/src/slave/ChangeLog +++ b/src/slave/ChangeLog @@ -1,3 +1,8 @@ +Tue Oct 17 08:11:56 2000 Ezra Peisach + + * kprop.c, kpropd.c: Use krb5_set_principal_realm() instead of + freeing library generated memory using the internal krb5_xfree(). + Sat Oct 14 14:16:20 2000 Ezra Peisach * kpropd.c, kprop.c: Ensure size of database sent OTW as 4 bytes diff --git a/src/slave/kprop.c b/src/slave/kprop.c index ff54eb603..edf8d0f0f 100644 --- a/src/slave/kprop.c +++ b/src/slave/kprop.c @@ -222,9 +222,12 @@ void get_tickets(context) exit(1); } if (realm) { - (void) krb5_xfree(krb5_princ_realm(context, my_principal)->data); - krb5_princ_set_realm_length(context, my_principal, strlen(realm)); - krb5_princ_set_realm_data(context, my_principal, strdup(realm)); + retval = krb5_set_principal_realm(context, my_principal, realm); + if (retval) { + com_err(progname, errno, + "while setting client principal realm"); + exit(1); + } } #if 0 krb5_princ_type(context, my_principal) = KRB5_NT_PRINCIPAL; @@ -265,9 +268,12 @@ void get_tickets(context) exit(1); } if (realm) { - (void) krb5_xfree(krb5_princ_realm(context, creds.server)->data); - krb5_princ_set_realm_length(context, creds.server, strlen(realm)); - krb5_princ_set_realm_data(context, creds.server, strdup(realm)); + retval = krb5_set_principal_realm(context, creds.server, realm); + if (retval) { + com_err(progname, errno, + "while setting server principal realm"); + exit(1); + } } /* diff --git a/src/slave/kpropd.c b/src/slave/kpropd.c index a5a7c05f4..2a7530d59 100644 --- a/src/slave/kpropd.c +++ b/src/slave/kpropd.c @@ -504,9 +504,12 @@ void PRS(argv) exit(1); } if (realm) { - (void) krb5_xfree(krb5_princ_realm(context, server)->data); - krb5_princ_set_realm_length(context, server, strlen(realm)); - krb5_princ_set_realm_data(context, server, strdup(realm)); + retval = krb5_set_principal_realm(kpropd_context, server, realm); + if (retval) { + com_err(progname, errno, + "while constructing my service realm"); + exit(1); + } } /* * Construct the name of the temporary file. -- cgit