]> git.sur5r.net Git - openldap/commitdiff
Apply ITS#12 fix from devel.
authorKurt Zeilenga <kurt@openldap.org>
Tue, 22 Dec 1998 05:43:52 +0000 (05:43 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Tue, 22 Dec 1998 05:43:52 +0000 (05:43 +0000)
Update CHANGES with ITS numbers.

CHANGES
servers/slapd/back-ldbm/search.c

diff --git a/CHANGES b/CHANGES
index 9a2575dee9bd78583fb06fdf3786192d64954b81..e80ec243dac55db0d8fd5135b82a0f403bccef55 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,15 +2,16 @@ OpenLDAP Change Log
 
 Changes included in OpenLDAP 1.1.1
        CVS Tag: OPENLDAP_REL_ENG_1_1
-       Updated INSTALL and hints
+       Updated INSTALL, hints, and devel documents.
        Updated slapd/ldif2dbm to disable write sync'ing
-       Fixed slapd & slurpd syslogging
+       Fixed slapd & slurpd syslogging (ITS#6)
        Fixed libldif/line64 analyzed 3 not 4 bug
        Fixed slapd/value.c value_cmp bug
        Fixed slapd/back-ldbm/cache.c delete_internal dntree/idtree bug
        Fixed slapd/tools DB2 uninitialized Datum bugs
+       Fixed slapd/back-ldbm search realbase free bug (ITS#12)
        Build environment (autoconf)
-               Fix --enable-wrappers
+               Fix --enable-wrappers (ITS#9)
                Fix --without-SERVER-COMPONENTS
                Fix library make clean
                Fix ltconfig for Solaris ProC and FreeBSD elf
index 959411b2359eca66ec18f429ce543097b27b22cd..99bebd224817ab11e083c7b7b37317e2c855e611 100644 (file)
@@ -79,7 +79,6 @@ ldbm_back_search(
        switch ( deref ) {
        case LDAP_DEREF_FINDING:
        case LDAP_DEREF_ALWAYS:
-               free (realBase);
                realBase = derefDN ( be, conn, op, base );
                break;
        default:
@@ -110,6 +109,9 @@ ldbm_back_search(
        default:
                send_ldap_result( conn, op, LDAP_PROTOCOL_ERROR, "",
                    "Bad scope" );
+               if( realBase != NULL) {
+                       free( realBase );
+               }
                return( -1 );
        }
 
@@ -119,9 +121,16 @@ ldbm_back_search(
                if ( matched != NULL ) {
                        free( matched );
                }
+               if( realBase != NULL) {
+                       free( realBase );
+               }
                return( -1 );
        }
 
+       if ( matched != NULL ) {
+               free( matched );
+       }
+
        rmaxsize = 0;
        nrefs = 0;
        rbuf = rcur = NULL;
@@ -136,6 +145,9 @@ ldbm_back_search(
                        pthread_mutex_unlock( &op->o_abandonmutex );
                        idl_free( candidates );
                        free( rbuf );
+                       if( realBase != NULL) {
+                               free( realBase );
+                       }
                        return( 0 );
                }
                pthread_mutex_unlock( &op->o_abandonmutex );
@@ -150,6 +162,9 @@ ldbm_back_search(
                            NULL, nentries );
                        idl_free( candidates );
                        free( rbuf );
+                       if( realBase != NULL) {
+                               free( realBase );
+                       }
                        return( 0 );
                }
                pthread_mutex_unlock( &currenttime_mutex );
@@ -274,6 +289,10 @@ ldbm_back_search(
        }
        free( rbuf );
 
+       if( realBase != NULL) {
+               free( realBase );
+       }
+
        return( 0 );
 }