From 9cb8701e3cf40510343a962256b711bd311f25ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= Date: Wed, 26 Nov 2025 13:55:54 +0000 Subject: [PATCH] ITS#10408 Do not assume sop is still in the list --- servers/slapd/overlays/syncprov.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index 6f1eefbc35..a30b584e16 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -3340,12 +3340,15 @@ aband: ctxcsn[j].bv_val); bailout: if ( sop ) { - syncops **sp = &si->si_ops; + syncops **sp; ldap_pvt_thread_mutex_lock( &si->si_ops_mutex ); - while ( *sp != sop ) - sp = &(*sp)->s_next; - *sp = sop->s_next; + for ( sp = &si->si_ops; *sp; sp = &(*sp)->s_next ) { + if ( *sp == sop ) { + *sp = sop->s_next; + break; + } + } ldap_pvt_thread_mutex_unlock( &si->si_ops_mutex ); ch_free( sop->s_base.bv_val ); ch_free( sop );