From: Douglas Bagnall Date: Wed, 31 Jul 2024 01:39:46 +0000 (+1200) Subject: dsdb:cracknames: free more on error (CID 240724) X-Git-Tag: tdb-1.4.13~1264 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b5e0e831500469fbf53f70494c3d02ddd494dae1;p=thirdparty%2Fsamba.git dsdb:cracknames: free more on error (CID 240724) Signed-off-by: Douglas Bagnall Reviewed-by: Jennifer Sutton Autobuild-User(master): Douglas Bagnall Autobuild-Date(master): Wed Aug 28 05:39:36 UTC 2024 on atb-devel-224 --- diff --git a/source4/dsdb/samdb/cracknames.c b/source4/dsdb/samdb/cracknames.c index 46b41fd2cee..91e02f9d94d 100644 --- a/source4/dsdb/samdb/cracknames.c +++ b/source4/dsdb/samdb/cracknames.c @@ -307,11 +307,14 @@ static WERROR DsCrackNameUPN(struct ldb_context *sam_ctx, TALLOC_CTX *mem_ctx, realm = smb_krb5_principal_get_realm( mem_ctx, smb_krb5_context->krb5_context, principal); if (realm == NULL) { + krb5_free_principal(smb_krb5_context->krb5_context, principal); return WERR_NOT_ENOUGH_MEMORY; } realm_encoded = ldb_binary_encode_string(mem_ctx, realm); if (realm_encoded == NULL) { + TALLOC_FREE(realm); + krb5_free_principal(smb_krb5_context->krb5_context, principal); return WERR_NOT_ENOUGH_MEMORY; }