]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
Plug some memory leaks and prepare for release. OPENLDAP_REL_ENG_2_1_16
authorKurt Zeilenga <kurt@openldap.org>
Fri, 14 Mar 2003 17:45:06 +0000 (17:45 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Fri, 14 Mar 2003 17:45:06 +0000 (17:45 +0000)
CHANGES
build/version.sh
servers/slapd/mr.c
servers/slapd/root_dse.c

diff --git a/CHANGES b/CHANGES
index fbfb7aa844d2343aed075e88368fcc32712a13bb..6650936cdfceefb537c55afe3a245be6ee2cc50a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,13 +1,14 @@
 OpenLDAP 2.1 Change Log
 
-OpenLDAP 2.1.16 Engineering
-       Fixed slapd modify mem leak
+OpenLDAP 2.1.16 Release
+       Fixed slapd sasl internal search "auth" issue
        Fixed liblber BER decoding bug (ITS#2365)
        Fixed slurpd TLS failure handling (ITS#2253)
-       Fixed slapd sasl internal search "auth" issue
        Fixed back-meta NULL deref bug (ITS#2359)
        Fixed back-ldap memory corruption (ITS#2362)
-       Updated back-perl
+    Fixed back-bdb IDL cache leak (ITS#2367)
+    Fixed slapd index large db files bug (ITS#2368)
+       Updated back-perl (ITS#2356)
        Removed ldaptcl from distribution
        Removed lint
        Build Environment
index d16da8a2f10029cf21adb762361efdd06d8c5020..41df12f487cfeb2a505d75f6f88aaf3fd802dce5 100755 (executable)
@@ -7,10 +7,10 @@
 ol_package=OpenLDAP
 ol_major=2
 ol_minor=1
-ol_patch=X
-ol_api_inc=20115
-ol_api_lib=2:115:0
-ol_release_date="03-09-2003"
+ol_patch=16
+ol_api_inc=20116
+ol_api_lib=2:116:0
+ol_release_date="03-15-2003"
 
 if test $ol_patch != X ; then
        ol_version=${ol_major}.${ol_minor}.${ol_patch}
index ad00a1ece3497a41ae2ba1b21c6a1d5baf0aa24b..f432c83ca81aa46032b4f806fe6c374145d81ad3 100644 (file)
@@ -84,6 +84,7 @@ mr_destroy( void )
                m = LDAP_SLIST_FIRST(&mr_list);
                LDAP_SLIST_REMOVE_HEAD(&mr_list, smr_next);
                ch_free( m->smr_str.bv_val );
+               ch_free( m->smr_compat_syntaxes );
                ldap_matchingrule_free((LDAPMatchingRule *)m);
        }
 }
index 8e9fb01ab1874c447f731f99eca25bdb8a0506df..9cddfa5e9ce95fd2df5352af6c53eab77d1b9d60 100644 (file)
@@ -226,6 +226,7 @@ int read_root_dse_file( const char *fname )
                Debug( LDAP_DEBUG_ANY,
                        "read_root_dse_file: SLAP_CALLOC failed", 0, 0, 0 );
 #endif
+               fclose( fp );
                return LDAP_OTHER;
        }
        usr_attr->e_attrs = NULL;
@@ -237,9 +238,8 @@ int read_root_dse_file( const char *fname )
                if( e == NULL ) {
                        fprintf( stderr, "root_dse: could not parse entry (line=%d)\n",
                                lineno );
-                       entry_free( usr_attr );
-                       usr_attr = NULL;
-                       return EXIT_FAILURE;
+                       rc = EXIT_FAILURE;
+                       break;
                }
 
                /* make sure the DN is the empty DN */
@@ -248,9 +248,8 @@ int read_root_dse_file( const char *fname )
                                "root_dse: invalid rootDSE - dn=\"%s\" (line=%d)\n",
                                e->e_dn, lineno );
                        entry_free( e );
-                       entry_free( usr_attr );
-                       usr_attr = NULL;
-                       return EXIT_FAILURE;
+                       rc = EXIT_FAILURE;
+                       break;
                }
 
                /*
@@ -260,15 +259,25 @@ int read_root_dse_file( const char *fname )
                 */
 
                for(a = e->e_attrs; a != NULL; a = a->a_next) {
-                       if( attr_merge( usr_attr, a->a_desc, a->a_vals ) )
-                               return LDAP_OTHER;
+                       if( attr_merge( usr_attr, a->a_desc, a->a_vals ) ) {
+                               rc = LDAP_OTHER;
+                               break;
+                       }
                }
 
                entry_free( e );
+               if (rc) break;
+       }
+
+       if (rc) {
+               entry_free( usr_attr );
+               usr_attr = NULL;
        }
 
        ch_free( buf );
 
+       fclose( fp );
+
        Debug(LDAP_DEBUG_CONFIG, "rootDSE file %s read.\n", fname, 0, 0);
        return rc;
 }