sq cli_credentials_ccache_update_principal
authorStefan Metzmacher <metze@samba.org>
Fri, 21 Oct 2016 06:05:55 +0000 (08:05 +0200)
committerStefan Metzmacher <metze@samba.org>
Mon, 18 Feb 2019 12:55:23 +0000 (13:55 +0100)
auth/credentials/credentials_krb5.c

index 6d9cf066c6b74acdec041deb9f4a23b3cba4eb53..8057aac4b2807e8f95b76f2e0c9231c353273f01 100644 (file)
@@ -417,10 +417,9 @@ _PUBLIC_ struct ccache_container *cli_credentials_ccache_get(struct cli_credenti
 _PUBLIC_ bool cli_credentials_ccache_update_principal(struct cli_credentials *creds)
 {
        krb5_context context;
-       struct ccache_container *ccc = cli_credentials_ccache_get(cred);
+       struct ccache_container *ccc = cli_credentials_ccache_get(creds);
        krb5_principal cc_principal = NULL;
        krb5_error_code code;
-       krb5_data *realm_data;
        char *principal;
        char *realm;
        bool ok;
@@ -460,9 +459,7 @@ _PUBLIC_ bool cli_credentials_ccache_update_principal(struct cli_credentials *cr
                return ok;
        }
 
-       realm_data = krb5_princ_realm(context, cc_principal);
-
-       realm = talloc_strndup(creds, realm_data->data, realm_data->length);
+       realm = smb_krb5_principal_get_realm(context, cc_principal);
        krb5_free_principal(context, cc_principal);
        if (realm == NULL) {
                return false;
@@ -470,7 +467,7 @@ _PUBLIC_ bool cli_credentials_ccache_update_principal(struct cli_credentials *cr
        ok = cli_credentials_set_realm(creds,
                                       realm,
                                       CRED_SPECIFIED);
-       TALLOC_FREE(realm);
+       SAFE_FREE(realm);
 
        return ok;
 }