diff --git a/servers/slapd/back-bdb2/index.c b/servers/slapd/back-bdb2/index.c index 63731f666ed09076c9353fa66b19c2ef9c8f0e1e..87b0a7318ac6596c30bdccebf8a56338b1b1a56f 100644 --- a/servers/slapd/back-bdb2/index.c +++ b/servers/slapd/back-bdb2/index.c @@ -271,6 +271,9 @@ bdb2i_index_add_values( value_normalize( val, syntax ); + /* value_normalize could change the length of val */ + len = strlen( val ); + /* * equality index entry */ diff --git a/servers/slapd/back-ldbm/index.c b/servers/slapd/back-ldbm/index.c index be528ed36494ceba2799aecf392354b3bc02d3e8..8561da7040243c23217d6501b4a9ca80eca9eb0c 100644 --- a/servers/slapd/back-ldbm/index.c +++ b/servers/slapd/back-ldbm/index.c @@ -31,9 +31,8 @@ index_add_entry( * with index_add_values() call */ - bv.bv_val = ch_strdup( e->e_dn ); + bv.bv_val = ch_strdup( e->e_ndn ); bv.bv_len = strlen( bv.bv_val ); - (void) dn_normalize_case( bv.bv_val ); bvals[0] = &bv; bvals[1] = NULL; @@ -52,7 +51,7 @@ index_add_entry( } Debug( LDAP_DEBUG_TRACE, "<= index_add( %ld, \"%s\" ) 0\n", e->e_id, - e->e_dn, 0 ); + e->e_ndn, 0 ); return( 0 ); } @@ -279,6 +278,9 @@ index_add_values( value_normalize( val, syntax ); + /* value_normalize could change the length of val */ + len = strlen( val ); + /* * equality index entry */