]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
dsdb:cracknames: free more on error (CID 240724)
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Wed, 31 Jul 2024 01:39:46 +0000 (13:39 +1200)
committerDouglas Bagnall <dbagnall@samba.org>
Wed, 28 Aug 2024 05:39:36 +0000 (05:39 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Jennifer Sutton <josutton@catalyst.net.nz>
Autobuild-User(master): Douglas Bagnall <dbagnall@samba.org>
Autobuild-Date(master): Wed Aug 28 05:39:36 UTC 2024 on atb-devel-224

source4/dsdb/samdb/cracknames.c

index 46b41fd2ceef0a683eb94e0eb363138f280710a5..91e02f9d94de9240684e2430657862cfccbb83e1 100644 (file)
@@ -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;
        }