From 3cbad7b4f10a28840b2209e6d11a93fc09b49cc4 Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Tue, 22 Dec 1998 05:43:52 +0000 Subject: [PATCH] Apply ITS#12 fix from devel. Update CHANGES with ITS numbers. --- CHANGES | 7 ++++--- servers/slapd/back-ldbm/search.c | 21 ++++++++++++++++++++- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index 9a2575dee9..e80ec243da 100644 --- 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 diff --git a/servers/slapd/back-ldbm/search.c b/servers/slapd/back-ldbm/search.c index 959411b235..99bebd2248 100644 --- a/servers/slapd/back-ldbm/search.c +++ b/servers/slapd/back-ldbm/search.c @@ -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( ¤ttime_mutex ); @@ -274,6 +289,10 @@ ldbm_back_search( } free( rbuf ); + if( realBase != NULL) { + free( realBase ); + } + return( 0 ); } -- 2.47.2