From 01e6bc1881c1e3d6c240c1c9f06f9cb59d56e9d7 Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Thu, 6 Mar 2003 00:53:38 +0000 Subject: [PATCH] Sync with HEAD --- servers/slapd/back-ldbm/idl.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) 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: -- 2.39.2