Commits (2)
......@@ -8,6 +8,7 @@ OpenLDAP 2.4.52 Engineering
Fixed libldap hang when using UDP and server down (ITS#9328)
Fixed slapd syncrepl rare deadlock due to network issues (ITS#9324)
Fixed slapd syncrepl regression that could trigger an assert (ITS#9329)
Fixed slapd-mdb index error with collapsed range (ITS#9135)
OpenLDAP 2.4.51 Release (2020/08/11)
Added slapo-ppolicy implement Netscape password policy controls (ITS#9279)
......
......@@ -625,9 +625,30 @@ mdb_idl_delete_keys(
}
if ( lo2 >= hi2 ) {
/* The range has collapsed... */
rc = mdb_cursor_del( cursor, MDB_NODUPDATA );
/* delete the range marker */
rc = mdb_cursor_del( cursor, 0 );
if ( rc != 0 ) {
err = "c_del dup";
err = "c_del dup1";
goto fail;
}
/* skip past deleted marker */
rc = mdb_cursor_get( cursor, &key, &data, MDB_NEXT_DUP );
if ( rc != 0 ) {
err = "c_get dup1";
goto fail;
}
/* delete the requested id */
if ( id == hi ) {
/* skip lo */
rc = mdb_cursor_get( cursor, &key, &data, MDB_NEXT_DUP );
if ( rc != 0 ) {
err = "c_get dup2";
goto fail;
}
}
rc = mdb_cursor_del( cursor, 0 );
if ( rc != 0 ) {
err = "c_del dup2";
goto fail;
}
} else {
......