From: Kurt Zeilenga Date: Thu, 6 Mar 2003 00:53:38 +0000 (+0000) Subject: Sync with HEAD X-Git-Tag: OPENLDAP_REL_ENG_2_1_15~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=01e6bc1881c1e3d6c240c1c9f06f9cb59d56e9d7;p=thirdparty%2Fopenldap.git Sync with HEAD --- diff --git a/servers/slapd/back-ldbm/idl.c b/servers/slapd/back-ldbm/idl.c index d879f568a6..79f55a6ffb 100644 --- a/servers/slapd/back-ldbm/idl.c +++ b/servers/slapd/back-ldbm/idl.c @@ -629,10 +629,11 @@ idl_insert_key( #else if ( !first && (unsigned long)(i + 1) < ID_BLOCK_NIDS(idl) ) { #endif + Datum k3; /* read it in */ - cont_alloc( &k2, &key ); - cont_id( &k2, ID_BLOCK_ID(idl, i + 1) ); - if ( (tmp2 = idl_fetch_one( be, db, k2 )) == NULL ) { + cont_alloc( &k3, &key ); + cont_id( &k3, ID_BLOCK_ID(idl, i + 1) ); + if ( (tmp2 = idl_fetch_one( be, db, k3 )) == NULL ) { #ifdef NEW_LOGGING LDAP_LOG( INDEX, ERR, "idl_insert_key: idl_fetch_one returned NULL\n", 0, 0, 0); @@ -643,7 +644,7 @@ idl_insert_key( #endif /* split the original block */ - cont_free( &k2 ); + cont_free( &k3 ); goto split; } @@ -683,7 +684,7 @@ idl_insert_key( db->dbc_maxids )) ) { case 1: /* id inserted first in block */ rc = idl_change_first( be, db, key, idl, - i + 1, k2, tmp2 ); + i + 1, k3, tmp2 ); /* FALL */ case 2: /* id already there - how? */ @@ -707,6 +708,8 @@ idl_insert_key( idl_free( tmp ); idl_free( tmp2 ); + cont_free( &k3 ); + cont_free( &k2 ); idl_free( idl ); return( 0 ); @@ -715,6 +718,7 @@ idl_insert_key( } idl_free( tmp2 ); + cont_free( &k3 ); } split: