From: Joseph Sutton Date: Thu, 10 Aug 2023 04:33:24 +0000 (+1200) Subject: s4:kdc: Fix leaks of sdb_entry’s members X-Git-Tag: tevent-0.16.0~994 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=75a1beeea8593fa2c98f4d798ddbf28d743ad095;p=thirdparty%2Fsamba.git s4:kdc: Fix leaks of sdb_entry’s members Signed-off-by: Joseph Sutton Reviewed-by: Andrew Bartlett --- diff --git a/source4/kdc/sdb.c b/source4/kdc/sdb.c index ff2c8a8f5f5..06b2c9cc0b6 100644 --- a/source4/kdc/sdb.c +++ b/source4/kdc/sdb.c @@ -82,8 +82,13 @@ void sdb_entry_free(struct sdb_entry *s) krb5_free_principal(NULL, s->principal); sdb_keys_free(&s->keys); + SAFE_FREE(s->etypes); sdb_keys_free(&s->old_keys); sdb_keys_free(&s->older_keys); + if (s->session_etypes != NULL) { + SAFE_FREE(s->session_etypes->val); + } + SAFE_FREE(s->session_etypes); krb5_free_principal(NULL, s->created_by.principal); if (s->modified_by) { krb5_free_principal(NULL, s->modified_by->principal); @@ -91,6 +96,8 @@ void sdb_entry_free(struct sdb_entry *s) SAFE_FREE(s->valid_start); SAFE_FREE(s->valid_end); SAFE_FREE(s->pw_end); + SAFE_FREE(s->max_life); + SAFE_FREE(s->max_renew); ZERO_STRUCTP(s); } @@ -138,6 +145,7 @@ krb5_error_code sdb_entry_set_etypes(struct sdb_entry *s) s->etypes->val = calloc(s->etypes->len, sizeof(*s->etypes->val)); if (s->etypes->val == NULL) { + SAFE_FREE(s->etypes); return ENOMEM; }