auth/credentials_krb5: let cli_credentials_get_server_gss_creds() use an early return
authorStefan Metzmacher <metze@samba.org>
Thu, 22 Aug 2019 17:25:09 +0000 (17:25 +0000)
committerStefan Metzmacher <metze@samba.org>
Fri, 5 Jan 2024 12:40:14 +0000 (13:40 +0100)
This will simplify the next commits.

Check with: git show -w

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12907

Signed-off-by: Stefan Metzmacher <metze@samba.org>
auth/credentials/credentials_krb5.c

index bd47113e60c3cc27d0795d48af996203ca285858..cd40b48093d4b80b17cab47f545d5302a4c1a921 100644 (file)
@@ -1365,14 +1365,16 @@ _PUBLIC_ int cli_credentials_get_server_gss_creds(struct cli_credentials *cred,
                        ret = EINVAL;
                }
        }
-       if (ret == 0) {
-               cred->server_gss_creds_obtained = cred->keytab_obtained;
-               talloc_set_destructor(gcc, free_gssapi_creds);
-               cred->server_gss_creds = gcc;
-               *_gcc = gcc;
+       if (ret != 0) {
+               talloc_free(mem_ctx);
+               return ret;
        }
+       cred->server_gss_creds_obtained = cred->keytab_obtained;
+       talloc_set_destructor(gcc, free_gssapi_creds);
+       cred->server_gss_creds = gcc;
+       *_gcc = gcc;
        talloc_free(mem_ctx);
-       return ret;
+       return 0;
 }
 
 /**