diff options
-rw-r--r-- | source3/nsswitch/winbindd_pam.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source3/nsswitch/winbindd_pam.c b/source3/nsswitch/winbindd_pam.c index a2ebe0ddbc..c5c9ca6322 100644 --- a/source3/nsswitch/winbindd_pam.c +++ b/source3/nsswitch/winbindd_pam.c @@ -274,8 +274,12 @@ enum winbindd_result winbindd_pam_auth(struct winbindd_cli_state *state) } } while ( (attempts < 2) && retry ); - - clnt_deal_with_creds(cli->sess_key, &(cli->clnt_cred), &ret_creds); + + if (cli != NULL) { + /* We might have come out of the loop above with cli == NULL, + so don't dereference that. */ + clnt_deal_with_creds(cli->sess_key, &(cli->clnt_cred), &ret_creds); + } if (NT_STATUS_IS_OK(result)) { netsamlogon_cache_store( cli->mem_ctx, &info3 ); |