From a0273e0f83269d52071accc32674f13e5da0462b Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati <ando@openldap.org> Date: Wed, 24 Oct 2007 17:03:23 +0000 Subject: [PATCH] import fix to ITS#4860 --- servers/slapd/sets.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/servers/slapd/sets.c b/servers/slapd/sets.c index 3393e83bf3..1d9c38d477 100644 --- a/servers/slapd/sets.c +++ b/servers/slapd/sets.c @@ -239,11 +239,13 @@ slap_set_join( /* dup the shortest */ if ( llen < rlen ) { + last = llen; set = set_dup( cp, lset, SLAP_SET_LREF2REF( op_flags ) ); lset = NULL; sset = rset; } else { + last = rlen; set = set_dup( cp, rset, SLAP_SET_RREF2REF( op_flags ) ); rset = NULL; sset = lset; @@ -253,7 +255,6 @@ slap_set_join( break; } - last = slap_set_size( set ); for ( i = 0; !BER_BVISNULL( &set[ i ] ); i++ ) { for ( j = 0; !BER_BVISNULL( &sset[ j ] ); j++ ) { if ( bvmatch( &set[ i ], &sset[ j ] ) ) { @@ -288,11 +289,13 @@ slap_set_join( } else { set = set_dup( cp, lset, SLAP_SET_LREF2REF( op_flags ) ); + lset = NULL; break; } } else if ( j == 0 ) { set = set_dup( cp, rset, SLAP_SET_RREF2REF( op_flags ) ); + rset = NULL; break; } -- GitLab