diff --git a/src/libtdeldap.cpp b/src/libtdeldap.cpp index 8a14cc3..eddd74c 100644 --- a/src/libtdeldap.cpp +++ b/src/libtdeldap.cpp @@ -371,12 +371,14 @@ int LDAPManager::bind(TQString* errstr) { } int retcode = ldap_initialize(&ldapconn, uri.ascii()); if (retcode < 0) { + ldap_unbind_ext_s(ldapconn, NULL, NULL); if (errstr) *errstr = i18n("Unable to connect to LDAP server %1 on port %2

Reason: [%3] %4").arg(m_host).arg(m_port).arg(retcode).arg(ldap_err2string(retcode)); else KMessageBox::error(0, i18n("Unable to connect to LDAP server %1 on port %2

Reason: [%3] %4").arg(m_host).arg(m_port).arg(retcode).arg(ldap_err2string(retcode)), i18n("Unable to connect to server!")); return -1; } retcode = ldap_set_option(ldapconn, LDAP_OPT_PROTOCOL_VERSION, &requested_ldap_version); if (retcode != LDAP_OPT_SUCCESS) { + ldap_unbind_ext_s(ldapconn, NULL, NULL); if (errstr) *errstr = i18n("Unable to connect to LDAP server %1 on port %2

Reason: [%3] %4").arg(m_host).arg(m_port).arg(retcode).arg(ldap_err2string(retcode)); else KMessageBox::error(0, i18n("Unable to connect to LDAP server %1 on port %2

Reason: [%3] %4").arg(m_host).arg(m_port).arg(retcode).arg(ldap_err2string(retcode)), i18n("Unable to connect to server!")); return -1;