diff options
author | Simo Sorce <ssorce@redhat.com> | 2009-10-30 12:06:49 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2009-10-30 12:18:00 -0400 |
commit | 37c1d615be2745d518792f1ca8a7c2a98ecb12b2 (patch) | |
tree | 0182bbe62bb65d1683885ec32c15585cee5b0dc4 | |
parent | 5a32ac3ee59c41734ab2fe0f7fa9e0327a4fc8b5 (diff) | |
download | sssd-37c1d615be2745d518792f1ca8a7c2a98ecb12b2.tar.gz sssd-37c1d615be2745d518792f1ca8a7c2a98ecb12b2.tar.bz2 sssd-37c1d615be2745d518792f1ca8a7c2a98ecb12b2.zip |
Fix segfault when SASL is not used at all
-rw-r--r-- | server/providers/ldap/sdap.c | 2 | ||||
-rw-r--r-- | server/providers/ldap/sdap_async.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/server/providers/ldap/sdap.c b/server/providers/ldap/sdap.c index d0ea9ffd..94cea885 100644 --- a/server/providers/ldap/sdap.c +++ b/server/providers/ldap/sdap.c @@ -395,6 +395,8 @@ bool sdap_rootdse_sasl_mech_is_supported(struct sysdb_attrs *rootdse, struct ldb_val *val; int i; + if (!sasl_mech) return false; + for (i = 0; i < rootdse->num; i++) { if (strcasecmp(rootdse->a[i].name, "supportedSASLMechanisms")) { continue; diff --git a/server/providers/ldap/sdap_async.c b/server/providers/ldap/sdap_async.c index ae6806f4..dfdd267e 100644 --- a/server/providers/ldap/sdap_async.c +++ b/server/providers/ldap/sdap_async.c @@ -3405,7 +3405,7 @@ static void sdap_cli_connect_done(struct tevent_req *subreq) sasl_mech = dp_opt_get_string(state->opts->basic, SDAP_SASL_MECH); - if (state->use_rootdse) { + if (sasl_mech && state->use_rootdse) { /* check if server claims to support GSSAPI */ if (!sdap_rootdse_sasl_mech_is_supported(state->rootdse, sasl_mech)) { @@ -3468,7 +3468,7 @@ static void sdap_cli_rootdse_done(struct tevent_req *subreq) sasl_mech = dp_opt_get_string(state->opts->basic, SDAP_SASL_MECH); - if (state->use_rootdse) { + if (sasl_mech && state->use_rootdse) { /* check if server claims to support GSSAPI */ if (!sdap_rootdse_sasl_mech_is_supported(state->rootdse, sasl_mech)) { |