- Plugged memory leak default constructor

- Fixed copy-constructor
This commit is contained in:
Ralf Haferkamp 2008-03-27 14:02:58 +00:00
parent 50a26bec0a
commit 5568abbbca
2 changed files with 19 additions and 4 deletions

View File

@ -22,8 +22,11 @@ LDAPEntry::LDAPEntry(const LDAPEntry& entry){
LDAPEntry::LDAPEntry(const string& dn, const LDAPAttributeList *attrs){
DEBUG(LDAP_DEBUG_CONSTRUCT,"LDAPEntry::LDAPEntry()" << endl);
DEBUG(LDAP_DEBUG_CONSTRUCT | LDAP_DEBUG_PARAMETER,
" dn:" << dn << endl << " attrs:" << *attrs << endl);
m_attrs=new LDAPAttributeList(*attrs);
" dn:" << dn << endl);
if ( attrs )
m_attrs=new LDAPAttributeList(*attrs);
else
m_attrs=new LDAPAttributeList();
m_dn=dn;
}
@ -40,6 +43,13 @@ LDAPEntry::~LDAPEntry(){
delete m_attrs;
}
LDAPEntry& LDAPEntry::operator=(const LDAPEntry& from){
m_dn = from.m_dn;
delete m_attrs;
m_attrs = new LDAPAttributeList( *(from.m_attrs));
return *this;
}
void LDAPEntry::setDN(const string& dn){
DEBUG(LDAP_DEBUG_TRACE,"LDAPEntry::setDN()" << endl);
DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER,

View File

@ -30,7 +30,7 @@ class LDAPEntry{
* @param attrs The attributes for the new entry.
*/
LDAPEntry(const std::string& dn=std::string(),
const LDAPAttributeList *attrs=new LDAPAttributeList());
const LDAPAttributeList *attrs=0);
/**
* Used internally only.
@ -44,7 +44,12 @@ class LDAPEntry{
* Destructor
*/
~LDAPEntry();
/**
* Assingment operator
*/
LDAPEntry& operator=(const LDAPEntry& from);
/**
* Sets the DN-attribute.
* @param dn: The new DN for the entry.