}
if ( rc != LDAP_SUCCESS && rc != LDAP_SASL_BIND_IN_PROGRESS ) {
- if( scred ) {
+ if( scred && scred->bv_len ) {
/* and server provided us with data? */
Debug( LDAP_DEBUG_TRACE,
"ldap_int_sasl_bind: rc=%d sasl=%d len=%ld\n",
if( rc == LDAP_SUCCESS && saslrc == SASL_OK ) {
/* we're done, no need to step */
- if( scred ) {
+ if( scred && scred->bv_len ) {
/* but server provided us with data! */
Debug( LDAP_DEBUG_TRACE,
"ldap_int_sasl_bind: rc=%d sasl=%d len=%ld\n",
ber_len_t ssf )
{
int sc;
- sasl_conn_t *ctx = ld->ld_defconn->lconn_sasl_ctx;
+ sasl_conn_t *ctx;
sasl_external_properties_t extprops;
-
+
+ if( ld->ld_defconn == NULL ) {
+ return LDAP_LOCAL_ERROR;
+ }
+
+ ctx = ld->ld_defconn->lconn_sasl_ctx;
+
if ( ctx == NULL ) {
return LDAP_LOCAL_ERROR;
}