diff options
author | Stefan Metzmacher <metze@samba.org> | 2013-09-20 04:33:07 +0200 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2013-10-16 23:56:01 +0200 |
commit | 556f66bd56415d83be936e28d41946c39e379914 (patch) | |
tree | 6a493ff1e889a46f39475496588b6c3728edfd71 /auth/credentials | |
parent | a62927ef882a5ed7bee1c737c44dd29b13e724e0 (diff) | |
download | samba-556f66bd56415d83be936e28d41946c39e379914.tar.gz |
auth:credentials: avoid talloc_reference in cli_credentials_set_netlogon_creds()
Typically cli_credentials_set_netlogon_creds() should be used directly
before the DCERPC bind. And cli_credentials_get_netlogon_creds()
should be only used by the gensec layer, which only needs a copy.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Wed Oct 16 23:56:01 CEST 2013 on sn-devel-104
Diffstat (limited to 'auth/credentials')
-rw-r--r-- | auth/credentials/credentials.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/auth/credentials/credentials.c b/auth/credentials/credentials.c index 642eef79328..78b59556eae 100644 --- a/auth/credentials/credentials.c +++ b/auth/credentials/credentials.c @@ -836,7 +836,11 @@ _PUBLIC_ void cli_credentials_guess(struct cli_credentials *cred, _PUBLIC_ void cli_credentials_set_netlogon_creds(struct cli_credentials *cred, struct netlogon_creds_CredentialState *netlogon_creds) { - cred->netlogon_creds = talloc_reference(cred, netlogon_creds); + TALLOC_FREE(cred->netlogon_creds); + if (netlogon_creds == NULL) { + return; + } + cred->netlogon_creds = netlogon_creds_copy(cred, netlogon_creds); } /** |