s4:auth/credentials/credentials - fix uninitalised pointers
authorMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Thu, 15 Oct 2009 08:30:07 +0000 (10:30 +0200)
committerMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Thu, 15 Oct 2009 08:32:12 +0000 (10:32 +0200)
This should fix bug #6755.

source4/auth/credentials/credentials.c

index 83901db6a559d62cd65f5fa8fa9f37ae0f04f93d..09366e8d549ac0254b0cb6fa327269fe6fe2e945 100644 (file)
 _PUBLIC_ struct cli_credentials *cli_credentials_init(TALLOC_CTX *mem_ctx) 
 {
        struct cli_credentials *cred = talloc(mem_ctx, struct cli_credentials);
-       if (!cred) {
+       if (cred == NULL) {
                return cred;
        }
 
-       cred->netlogon_creds = NULL;
-       cred->machine_account_pending = false;
        cred->workstation_obtained = CRED_UNINITIALISED;
        cred->username_obtained = CRED_UNINITIALISED;
        cred->password_obtained = CRED_UNINITIALISED;
@@ -50,21 +48,51 @@ _PUBLIC_ struct cli_credentials *cli_credentials_init(TALLOC_CTX *mem_ctx)
        cred->realm_obtained = CRED_UNINITIALISED;
        cred->ccache_obtained = CRED_UNINITIALISED;
        cred->client_gss_creds_obtained = CRED_UNINITIALISED;
-       cred->server_gss_creds_obtained = CRED_UNINITIALISED;
-       cred->keytab_obtained = CRED_UNINITIALISED;
        cred->principal_obtained = CRED_UNINITIALISED;
+       cred->keytab_obtained = CRED_UNINITIALISED;
+       cred->server_gss_creds_obtained = CRED_UNINITIALISED;
 
        cred->ccache_threshold = CRED_UNINITIALISED;
        cred->client_gss_creds_threshold = CRED_UNINITIALISED;
 
+       cred->workstation = NULL;
+       cred->username = NULL;
+       cred->password = NULL;
        cred->old_password = NULL;
-       cred->smb_krb5_context = NULL;
+       cred->domain = NULL;
+       cred->realm = NULL;
+       cred->principal = NULL;
        cred->salt_principal = NULL;
-       cred->machine_account = false;
 
        cred->bind_dn = NULL;
 
+       cred->nt_hash = NULL;
+
+       cred->ccache = NULL;
+       cred->client_gss_creds = NULL;
+       cred->keytab = NULL;
+       cred->server_gss_creds = NULL;
+
+       cred->workstation_cb = NULL;
+       cred->password_cb = NULL;
+       cred->username_cb = NULL;
+       cred->domain_cb = NULL;
+       cred->realm_cb = NULL;
+       cred->principal_cb = NULL;
+
+       cred->priv_data = NULL;
+
+       cred->netlogon_creds = NULL;
+
+       cred->smb_krb5_context = NULL;
+
+       cred->machine_account_pending = false;
+       cred->machine_account_pending_lp_ctx = NULL;
+
+       cred->machine_account = false;
+
        cred->tries = 3;
+
        cred->callback_running = false;
 
        cli_credentials_set_kerberos_state(cred, CRED_AUTO_USE_KERBEROS);