mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-25 00:59:45 -05:00
ITS#6983 fix duplicate entry in HDB subtree IDL
This commit is contained in:
parent
ab69775dd0
commit
1c476b302e
3 changed files with 4 additions and 1 deletions
|
|
@ -945,6 +945,7 @@ hdb_dn2idl_internal(
|
|||
cx->rc = bdb_idl_cache_get(cx->bdb, cx->db, &cx->key, ids);
|
||||
if ( cx->rc == LDAP_SUCCESS ) {
|
||||
if ( cx->depth ) {
|
||||
bdb_idl_delete( cx->tmp, cx->id ); /* ITS#6983, drop our own ID */
|
||||
bdb_idl_append( cx->ids, cx->tmp );
|
||||
cx->need_sort = 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ int bdb_idl_insert( ID *ids, ID id )
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int bdb_idl_delete( ID *ids, ID id )
|
||||
int bdb_idl_delete( ID *ids, ID id )
|
||||
{
|
||||
unsigned x;
|
||||
|
||||
|
|
|
|||
|
|
@ -281,6 +281,7 @@ bdb_idl_cache_del_id(
|
|||
#define bdb_idl_next BDB_SYMBOL(idl_next)
|
||||
#define bdb_idl_search BDB_SYMBOL(idl_search)
|
||||
#define bdb_idl_insert BDB_SYMBOL(idl_insert)
|
||||
#define bdb_idl_delete BDB_SYMBOL(idl_delete)
|
||||
#define bdb_idl_intersection BDB_SYMBOL(idl_intersection)
|
||||
#define bdb_idl_union BDB_SYMBOL(idl_union)
|
||||
#define bdb_idl_sort BDB_SYMBOL(idl_sort)
|
||||
|
|
@ -303,6 +304,7 @@ int bdb_idl_fetch_key(
|
|||
int get_flag );
|
||||
|
||||
int bdb_idl_insert( ID *ids, ID id );
|
||||
int bdb_idl_delete( ID *ids, ID id );
|
||||
|
||||
int bdb_idl_insert_key(
|
||||
BackendDB *be,
|
||||
|
|
|
|||
Loading…
Reference in a new issue