From: Howard Chu Date: Tue, 4 Feb 2025 17:00:36 +0000 (+0000) Subject: ITS#10302 slapd-mdb: fix idcursor double-free in slapadd shutdown X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=429556c5f647e90843c3536654f3da58a35080c0;p=thirdparty%2Fopenldap.git ITS#10302 slapd-mdb: fix idcursor double-free in slapadd shutdown Caused when calling tool_entry_modify to update ctxcsn after all adds are done. --- diff --git a/servers/slapd/back-mdb/tools.c b/servers/slapd/back-mdb/tools.c index 2a94147ec5..6ea63bbb54 100644 --- a/servers/slapd/back-mdb/tools.c +++ b/servers/slapd/back-mdb/tools.c @@ -1051,7 +1051,7 @@ ID mdb_tool_entry_modify( op.o_tmpmfuncs = &ch_mfuncs; /* id2entry index */ - rc = mdb_id2entry_update( &op, mdb_tool_txn, NULL, e ); + rc = mdb_id2entry_update( &op, mdb_tool_txn, idcursor, e ); if( rc != 0 ) { snprintf( text->bv_val, text->bv_len, "id2entry_update failed: err=%d", rc ); @@ -1086,6 +1086,7 @@ done: e->e_id = NOID; } mdb_tool_txn = NULL; + idcursor = NULL; return e->e_id; }