diff options
author | Pavel Březina <pbrezina@redhat.com> | 2016-01-13 11:58:37 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2016-01-14 18:36:50 +0100 |
commit | 383840c0c9c440710352076f844a64745121d251 (patch) | |
tree | b48ebb552a423de2b6e44c7a56905aa547a8bc20 /src/providers/ldap/ldap_options.c | |
parent | 19e44537c28f6d5f011cd7ac885c74c1e892605f (diff) | |
download | sssd-383840c0c9c440710352076f844a64745121d251.tar.gz sssd-383840c0c9c440710352076f844a64745121d251.tar.xz sssd-383840c0c9c440710352076f844a64745121d251.zip |
SDAP: handle ret properly in ldap_get_options()
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src/providers/ldap/ldap_options.c')
-rw-r--r-- | src/providers/ldap/ldap_options.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/providers/ldap/ldap_options.c b/src/providers/ldap/ldap_options.c index cf49e41ab..1180925d6 100644 --- a/src/providers/ldap/ldap_options.c +++ b/src/providers/ldap/ldap_options.c @@ -199,6 +199,10 @@ int ldap_get_options(TALLOC_CTX *memctx, "LDAP referrals are not supported, because the LDAP library " "is too old, see sssd-ldap(5) for details.\n"); ret = dp_opt_set_bool(opts->basic, SDAP_REFERRALS, false); + if (ret != EOK) { + DEBUG(SSSDBG_CRIT_FAILURE, "dp_opt_set_string failed.\n"); + goto done; + } } #endif @@ -305,7 +309,8 @@ int ldap_get_options(TALLOC_CTX *memctx, authtok_blob = dp_opt_get_blob(opts->basic, SDAP_DEFAULT_AUTHTOK); if (authtok_blob.data == NULL || authtok_blob.length == 0) { DEBUG(SSSDBG_CRIT_FAILURE, "Missing obfuscated password string.\n"); - return EINVAL; + ret = EINVAL; + goto done; } ret = sss_password_decrypt(memctx, (char *) authtok_blob.data, @@ -313,7 +318,7 @@ int ldap_get_options(TALLOC_CTX *memctx, if (ret != EOK) { DEBUG(SSSDBG_CRIT_FAILURE, "Cannot convert the obfuscated " "password back to cleartext\n"); - return ret; + goto done; } authtok_blob.data = (uint8_t *) cleartext; @@ -322,14 +327,14 @@ int ldap_get_options(TALLOC_CTX *memctx, talloc_free(cleartext); if (ret != EOK) { DEBUG(SSSDBG_CRIT_FAILURE, "dp_opt_set_string failed.\n"); - return ret; + goto done; } ret = dp_opt_set_string(opts->basic, SDAP_DEFAULT_AUTHTOK_TYPE, "password"); if (ret != EOK) { DEBUG(SSSDBG_CRIT_FAILURE, "dp_opt_set_string failed.\n"); - return ret; + goto done; } } |