ITS#7806 fixed memory leak in LDAPAsynConnection.cpp

This commit is contained in:
Kevin H. Patterson 2014-02-26 13:08:24 -05:00 committed by Howard Chu
parent 5cab6b77e4
commit 5791cc46a4

View File

@ -43,7 +43,10 @@ LDAPAsynConnection::LDAPAsynConnection(const string& url, int port,
this->setConstraints(cons);
}
LDAPAsynConnection::~LDAPAsynConnection(){}
LDAPAsynConnection::~LDAPAsynConnection(){
unbind();
delete m_constr;
}
void LDAPAsynConnection::init(const string& hostname, int port){
DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::init" << endl);
@ -51,6 +54,8 @@ void LDAPAsynConnection::init(const string& hostname, int port){
" hostname:" << hostname << endl
<< " port:" << port << endl);
unbind();
m_uri.setScheme("ldap");
m_uri.setHost(hostname);
m_uri.setPort(port);
@ -66,6 +71,8 @@ void LDAPAsynConnection::init(const string& hostname, int port){
}
void LDAPAsynConnection::initialize(const std::string& uri){
unbind();
m_uri.setURLString(uri);
int ret = ldap_initialize(&cur_session, m_uri.getURLString().c_str());
if ( ret != LDAP_SUCCESS ) {
@ -277,6 +284,7 @@ void LDAPAsynConnection::unbind(){
void LDAPAsynConnection::setConstraints(LDAPConstraints *cons){
DEBUG(LDAP_DEBUG_TRACE,"LDAPAsynConnection::setConstraints()" << endl);
delete m_constr;
m_constr=cons;
}