]> git.sur5r.net Git - openldap/commitdiff
- Plugged memory leak default constructor
authorRalf Haferkamp <ralf@openldap.org>
Thu, 27 Mar 2008 14:02:58 +0000 (14:02 +0000)
committerRalf Haferkamp <ralf@openldap.org>
Thu, 27 Mar 2008 14:02:58 +0000 (14:02 +0000)
- Fixed copy-constructor

contrib/ldapc++/src/LDAPEntry.cpp
contrib/ldapc++/src/LDAPEntry.h

index 6084b100888d6e281bfffc6b992364a784e7ec25..1052cb5e1b538be9843e808aa574dc3b52b6a29a 100644 (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,
index a385b177180da6cd482913a898862d1eecb2ad12..574e44695fbaa6ee931451c49420a2c3123413bd 100644 (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.