]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:kdc: Move calls to talloc_steal() out of the ‘out’ paths
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Thu, 10 Aug 2023 03:25:50 +0000 (15:25 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 14 Aug 2023 04:57:34 +0000 (04:57 +0000)
This simplifies the ‘out’ paths.

Every code path that reaches ‘out’ via a goto ensures that ‘ret’ is set
to a nonzero value.

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/kdc/db-glue.c

index 5b9b7f747749dd7114e742d96b743c4a989e2ae5..b1a4c08296d1f59a8bf272f1ed0cf9c5a296265b 100644 (file)
@@ -1701,12 +1701,12 @@ static krb5_error_code samba_kdc_message2entry(krb5_context context,
        p->client_policy = talloc_steal(p, authn_client_policy);
        p->server_policy = talloc_steal(p, authn_server_policy);
 
+       talloc_steal(kdc_db_ctx, p);
+
 out:
        if (ret != 0) {
                /* This doesn't free ent itself, that is for the eventual caller to do */
                sdb_entry_free(entry);
-       } else {
-               talloc_steal(kdc_db_ctx, p);
        }
 
        return ret;
@@ -2164,14 +2164,14 @@ static krb5_error_code samba_kdc_trust_message2entry(krb5_context context,
 
        p->msg = talloc_steal(p, msg);
 
+       talloc_steal(kdc_db_ctx, p);
+
 out:
        TALLOC_FREE(partner_realm);
 
        if (ret != 0) {
                /* This doesn't free ent itself, that is for the eventual caller to do */
                sdb_entry_free(entry);
-       } else {
-               talloc_steal(kdc_db_ctx, p);
        }
 
        return ret;