diff options
author | Greg Hudson <ghudson@mit.edu> | 2016-06-29 17:13:33 -0400 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2016-08-10 17:23:41 -0400 |
commit | 73c9944ae86cf3a89e11d3d3f15dd9b8da7b9cd1 (patch) | |
tree | 6e53526e6129197424bf37336b6edebf0bb66ec5 /src/slave | |
parent | eb24cc9ca32998eb370ffd6c93dcf7d62c770e5a (diff) | |
download | krb5-73c9944ae86cf3a89e11d3d3f15dd9b8da7b9cd1.zip krb5-73c9944ae86cf3a89e11d3d3f15dd9b8da7b9cd1.tar.gz krb5-73c9944ae86cf3a89e11d3d3f15dd9b8da7b9cd1.tar.bz2 |
Fix a variety of one-time leaks
Eliminate some memory leaks which should not affect normal operation,
but which make it harder to detect more serious memory leaks.
In kdb5_util, start using the already existing quit() function and
remove redundant DB and master key cleanup performed by individual
commands. In kdb5_destroy(), use util_context instead of creating a
new one. Add an mkey_fullname global variable and use it to make
a bunch of krb5_db_setup_mkey_name() calls unnecessary.
Diffstat (limited to 'src/slave')
-rw-r--r-- | src/slave/kprop.c | 8 | ||||
-rw-r--r-- | src/slave/kpropd.c | 2 | ||||
-rw-r--r-- | src/slave/kproplog.c | 2 |
3 files changed, 5 insertions, 7 deletions
diff --git a/src/slave/kprop.c b/src/slave/kprop.c index 955db50..e80ecab 100644 --- a/src/slave/kprop.c +++ b/src/slave/kprop.c @@ -242,13 +242,6 @@ get_tickets(krb5_context context) exit(1); } - /* Fill in the client. */ - retval = krb5_copy_principal(context, my_principal, &creds.client); - if (retval) { - com_err(progname, retval, _("while copying client principal")); - exit(1); - } - if (srvtab != NULL) { retval = krb5_kt_resolve(context, srvtab, &keytab); if (retval) { @@ -598,6 +591,7 @@ xmit_database(krb5_context context, krb5_auth_context auth_context, send_size, database_size); exit(1); } + free(inbuf.data); free(outbuf.data); } diff --git a/src/slave/kpropd.c b/src/slave/kpropd.c index 1b60126..ef64222 100644 --- a/src/slave/kpropd.c +++ b/src/slave/kpropd.c @@ -1000,6 +1000,8 @@ done: free(master_svc_princstr); krb5_free_default_realm(kpropd_context, def_realm); kadm5_destroy(server_handle); + krb5_db_fini(kpropd_context); + ulog_fini(kpropd_context); krb5_free_context(kpropd_context); return (runonce == 1) ? 0 : 1; diff --git a/src/slave/kproplog.c b/src/slave/kproplog.c index 857ef03..4f19eeb 100644 --- a/src/slave/kproplog.c +++ b/src/slave/kproplog.c @@ -561,5 +561,7 @@ main(int argc, char **argv) printf("\n"); + kadm5_free_config_params(context, ¶ms); + krb5_free_context(context); return 0; } |