diff --git a/servers/slapd/back-ldbm/idl.c b/servers/slapd/back-ldbm/idl.c index 79f55a6ffb..fcfeebcf18 100644 --- a/servers/slapd/back-ldbm/idl.c +++ b/servers/slapd/back-ldbm/idl.c @@ -560,6 +560,11 @@ idl_insert_key( if (ID_BLOCK_ID(idl, i) < id) i++; #endif + /* The ID already exists in the IDL, no insert needed */ + if (ID_BLOCK_ID(idl, i) == id) { + idl_free( idl ); + return 0; + } if ( i != 0 ) { i--;