From 74a5a3a4742f23f25512642e6139cb50efbd8dad Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Thu, 7 Oct 2021 01:21:47 +0100 Subject: [PATCH] ITS#9712 back-mdb: fix multival delete --- servers/slapd/back-mdb/id2entry.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/servers/slapd/back-mdb/id2entry.c b/servers/slapd/back-mdb/id2entry.c index 0f3b60a3b3..216efa69dc 100644 --- a/servers/slapd/back-mdb/id2entry.c +++ b/servers/slapd/back-mdb/id2entry.c @@ -55,6 +55,8 @@ mdb_id2v_compare( return -1; if (ui > ci) return 1; + if (usrkey->mv_size < curkey->mv_size) + return 0; uv = usrkey->mv_data; cv = curkey->mv_data; return uv[sizeof(ID)/2] - cv[sizeof(ID)/2]; @@ -490,7 +492,8 @@ int mdb_id2entry_delete( return rc; rc = mdb_cursor_get( mvc, &key, NULL, MDB_GET_CURRENT ); if (rc) { - if (rc == MDB_NOTFOUND) + /* no record or DB is empty */ + if (rc == MDB_NOTFOUND || rc == EINVAL) rc = MDB_SUCCESS; break; } -- 2.47.3