diff options
author | Remi Ferrand <remi.ferrand@cc.in2p3.fr> | 2014-04-05 11:23:13 +0200 |
---|---|---|
committer | Russ Allbery <rra@stanford.edu> | 2014-06-16 10:57:08 -0700 |
commit | f86d663dec5e46c257ee15210faa67f2bd4fdb6d (patch) | |
tree | 9d3738c86d46ff7a3c3b7d6e474c129a2282456d /server | |
parent | 408c8e23880eb6f2801f4616ed30126af5ff857c (diff) |
Continue to track down memory leaks
When running full test suite with valgrind, found that I forgot
to free kerberos error message that was used to log error message.
Change-Id: Iceca1172007b3bc3297b824c074cd147b11a5973
Reviewed-on: https://gerrit.stanford.edu/1497
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: Russ Allbery <rra@stanford.edu>
Diffstat (limited to 'server')
-rw-r--r-- | server/config.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/server/config.c b/server/config.c index f1c72d1..0a4144a 100644 --- a/server/config.c +++ b/server/config.c @@ -944,6 +944,7 @@ acl_check_unxgrp (const char *user, const char *data, const char *file, } else { /* Sanitize and search for match in group members */ + const char *krb_message; char *cur_member = grp.gr_mem[0]; int i = 0; @@ -959,8 +960,11 @@ acl_check_unxgrp (const char *user, const char *data, const char *file, krb5_code = krb5_parse_name(krb_ctx, user, &princ); if (krb5_code != 0) { + krb_message = krb5_get_error_message(krb_ctx, krb5_code); warn("%s:%d: parsing principal %s failed with status %d (%s)", file, - lineno, user, krb5_code, krb5_get_error_message(krb_ctx, krb5_code)); + lineno, user, krb5_code, krb_message); + krb5_free_error_message(krb_ctx, krb_message); + result = CONFIG_ERROR; goto die; } @@ -974,8 +978,11 @@ acl_check_unxgrp (const char *user, const char *data, const char *file, result = CONFIG_NOMATCH; } else { + krb_message = krb5_get_error_message(krb_ctx, krb5_code); warn("%s:%d: converting krb5 principal %s to localname failed with status %d (%s)", file, - lineno, user, krb5_code, krb5_get_error_message(krb_ctx, krb5_code)); + lineno, user, krb5_code, krb_message); + krb5_free_error_message(krb_ctx, krb_message); + result = CONFIG_ERROR; } goto die; |