summaryrefslogtreecommitdiffstats
path: root/src/kadmin/server/adm_process.c
diff options
context:
space:
mode:
authorTheodore Tso <tytso@mit.edu>1994-09-15 04:22:13 +0000
committerTheodore Tso <tytso@mit.edu>1994-09-15 04:22:13 +0000
commit261f3efe59a66483e5b4110b7d745ee74302588b (patch)
tree3940a702089cb13b39d3a5f582b50afccae2cc3e /src/kadmin/server/adm_process.c
parentdec11ffac772c31a257bf94e43c2df527c3df33e (diff)
downloadkrb5-261f3efe59a66483e5b4110b7d745ee74302588b.tar.gz
krb5-261f3efe59a66483e5b4110b7d745ee74302588b.tar.xz
krb5-261f3efe59a66483e5b4110b7d745ee74302588b.zip
Fix a number of pointer aliasing bugs
Make sure the master key version number is propgated correctly for new keys. Fixed bug where process_client tried to free an automatic variable. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@4237 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin/server/adm_process.c')
-rw-r--r--src/kadmin/server/adm_process.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/kadmin/server/adm_process.c b/src/kadmin/server/adm_process.c
index 4e3297f63b..eca9fb040a 100644
--- a/src/kadmin/server/adm_process.c
+++ b/src/kadmin/server/adm_process.c
@@ -69,7 +69,9 @@ OLDDECLARG(krb5_keyblock **, key)
arg = ( struct cpw_keyproc_arg *) keyprocarg;
if (arg->key) {
- *key = arg->key;
+ retval = krb5_copy_keyblock(arg->key, key);
+ if (retval)
+ return retval;
} else {
if (retval = krb5_parse_name(client_server_info.name_of_service,
&cpw_krb)) {
@@ -417,10 +419,8 @@ char *prog;
0,
&msg_data)) {
syslog(LOG_ERR, "kadmind error Error Performing Final mk_priv");
- free(final_msg.data);
goto finish;
}
- free(final_msg.data);
/* Send Final Reply to Client */
if (retval = krb5_write_message(&client_server_info.client_socket,