diff options
author | Will Fiveash <will.fiveash@oracle.com> | 2009-02-05 20:57:09 +0000 |
---|---|---|
committer | Will Fiveash <will.fiveash@oracle.com> | 2009-02-05 20:57:09 +0000 |
commit | 3442622bf0e205fa829520868909a8b8d0771e9f (patch) | |
tree | 8be35abe65b5305b5506887a18b14f879db15182 /src/lib/kdb/kdb5.c | |
parent | 860da5ef64ad30db009eefaafb282a62489e56ff (diff) | |
download | krb5-3442622bf0e205fa829520868909a8b8d0771e9f.zip krb5-3442622bf0e205fa829520868909a8b8d0771e9f.tar.gz krb5-3442622bf0e205fa829520868909a8b8d0771e9f.tar.bz2 |
deal with memleaks in migrate mkey project
Ken R. told me that Coverity found several potential memleaks introduced
by the mkey migration project. This addresses those leaks and tweaks
the code formatting in a few places.
ticket: 6371
Version_Reported: 1.7
Target_Version: 1.7
Tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21900 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/kdb/kdb5.c')
-rw-r--r-- | src/lib/kdb/kdb5.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/lib/kdb/kdb5.c b/src/lib/kdb/kdb5.c index 442c28f..b17e8d1 100644 --- a/src/lib/kdb/kdb5.c +++ b/src/lib/kdb/kdb5.c @@ -115,11 +115,13 @@ krb5_dbe_free_key_data_contents(krb5_context context, krb5_key_data *key) { int i, idx; - idx = (key->key_data_ver == 1 ? 1 : 2); - for (i = 0; i < idx; i++) { - if (key->key_data_contents[i]) { - zap(key->key_data_contents[i], key->key_data_length[i]); - free(key->key_data_contents[i]); + if (key) { + idx = (key->key_data_ver == 1 ? 1 : 2); + for (i = 0; i < idx; i++) { + if (key->key_data_contents[i]) { + zap(key->key_data_contents[i], key->key_data_length[i]); + free(key->key_data_contents[i]); + } } } return; @@ -2383,6 +2385,7 @@ krb5_dbe_lookup_mkey_aux(krb5_context context, if (new_data->latest_mkey.key_data_contents[0] == NULL) { krb5_dbe_free_mkey_aux_list(context, head_data); + free(new_data); return (ENOMEM); } memcpy(new_data->latest_mkey.key_data_contents[0], curloc, |