From a33b6d6b788b42370dd198cc80f85bcf1f6aeff3 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Sat, 19 Nov 2016 08:18:39 -0500 Subject: [PATCH] hdb: more read_master_key leaks Change-Id: Icf0bb8dc3cdcd2babb91b4180cec37737772373d --- lib/hdb/mkey.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/lib/hdb/mkey.c b/lib/hdb/mkey.c index 895f78f58..8265776bf 100644 --- a/lib/hdb/mkey.c +++ b/lib/hdb/mkey.c @@ -129,19 +129,16 @@ read_master_keytab(krb5_context context, const char *filename, goto out; while(krb5_kt_next_entry(context, id, &entry, &cursor) == 0) { p = calloc(1, sizeof(*p)); - if(p == NULL) { - krb5_kt_end_seq_get(context, id, &cursor); + if (p == NULL) { ret = ENOMEM; - goto out; + break; } p->keytab = entry; - ret = krb5_crypto_init(context, &p->keytab.keyblock, 0, &p->crypto); - if (ret) { - krb5_kt_end_seq_get(context, id, &cursor); - goto out; - } p->next = *mkey; *mkey = p; + ret = krb5_crypto_init(context, &p->keytab.keyblock, 0, &p->crypto); + if (ret) + break; } krb5_kt_end_seq_get(context, id, &cursor); out: