From 3b05166332345e8e797b186217c2e7bcf72f0b65 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Thu, 27 Aug 2020 00:29:07 -0500 Subject: [PATCH] kadm5: Fix leak in randkey principal --- lib/kadm5/set_keys.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/kadm5/set_keys.c b/lib/kadm5/set_keys.c index dd40fc784..1f4582585 100644 --- a/lib/kadm5/set_keys.c +++ b/lib/kadm5/set_keys.c @@ -393,19 +393,21 @@ _kadm5_set_keys_randomly (kadm5_server_context *context, out: if(ret) { for (i = 0; i < num_keys; ++i) - krb5_free_keyblock_contents (context->context, &kblock[i]); + krb5_free_keyblock_contents(context->context, &kblock[i]); free(kblock); - _kadm5_free_keys (context->context, num_keys, keys); + _kadm5_free_keys(context->context, num_keys, keys); return ret; } - _kadm5_free_keys (context->context, ent->keys.len, ent->keys.val); + _kadm5_free_keys(context->context, ent->keys.len, ent->keys.val); ent->keys.val = keys; ent->keys.len = num_keys; if (n_keys && new_keys) { *new_keys = kblock; *n_keys = num_keys; } else { + for (i = 0; i < num_keys; ++i) + krb5_free_keyblock_contents(context->context, &kblock[i]); free(kblock); }